所以我正在试用 Datashader,它的外观和性能都很棒。但是,所有示例都必须使用具有大量内存的机器来完成,或者只是没有那么大的数据集。因为当我尝试做一些大情节时,我炸毁了我的 16GB 内存。我毫不怀疑 Datashader 可以处理数据,但是,我不知道如何加载它并分段绘制它。
所以要清楚,它不是在绘图期间,而是实际上通过从数据库读取失败 - 但是,由于 Datashader 是一个用于绘制真正大数据的库,所以必须有一些方法而不是在 df 中加载所有内容并传递它?
我现在的代码:
from colorcet import fire
import psycopg2
import datashader as ds
import datashader.transfer_functions as tf
con = getCon()
query = """SELECT latitude, longitude FROM mydatabasetable"""
df = pd.read_sql(query, con)
cvs = ds.Canvas(plot_width=400, plot_height=400)
agg = cvs.points(df, 'longitude', 'latitude')
img = tf.shade(agg, cmap=['lightblue', 'darkblue'], how='log')
例如,是否可以多次调用 cvs.points 方法(从而将我的数据分成几位?)