问题标签 [datashader]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用数据着色器作为线从数据框中绘制多个组
我正在尝试使用 datashader 绘制绘图。数据本身是极坐标中点的时间序列。我设法将它们转换为笛卡尔坐标(具有相等的间距像素),我可以用数据着色器绘制它们。
我被卡住的地方是,如果我只是将它们绘制出来line()
而不是points()
将整个数据框连接为一条线。我想将每个组的数据框组的数据(这些组是 中的名称list_of_names
)作为线条绘制到画布上。
数据可以在这里找到
我用数据着色器得到这种图像
这是生成的绘图的放大视图,points()
而不是line()
目标是生成相同的绘图,但使用连接线而不是点
python - 具有聚合 = ds.by(color, any()) 的数据着色器的奇怪行为
软件版本
熊猫:1.3.3,数据着色器:0.13.0,散景:2.3.3,holoviews:1.14.6
我想达到什么/我目前的问题
我用散景/全息图绘制了一些分类数据的散点图。有时集合很大,所以我想使用数据着色器。但在许多情况下,我的数据太稀疏,看起来不太好(在这种情况下为 1672 点)。所以我必须传播它。但它看起来不太好:( 没有传播数据,只有大约 9 个像素可见;我没有展示这个图片。)
对于这种小尺寸,也可以使用没有数据着色器的全息视图。那里的图片看起来好多了:
遵循 Datashader 中的想法:我尝试使用而不是在-function 中使用的 GeoDataFrames 的分类颜色映射。aggregator=ds.by(cat_color, ds.any())
aggregator=ds.by(cat_color)
datashade
结果很奇怪: 当你不传播结果时,你会得到同样奇怪的橄榄色背景颜色,但更透明。有趣的是,这种背景颜色并不总是相同的。
可重现的代码示例
当您删除 ds.any() 时,一切都会或多或少地工作(在https://github.com/holoviz/holoviews/issues/5070上讨论了一些小问题),但是在这样做时ds.any()
根本dynspread
不起作用。这个问题也存在于我的实际数据中,但我可能只会使用spread
哪个效果更好。是否有一个原因?
有什么我想念的吗?
python - Datashader直方图一条线
我有一些时间序列数据,其中每一列表示一个值,并且该 y 的密度,每次,是该列中的值,例如:
dt | y=100 | y=200 | y=300 | y=400 |
---|---|---|---|---|
2018-06-04 | 10 | 50 | 5 | 0 |
2018-06-05 | 10 | 50 | 0 | 25 |
2018-06-06 | 20 | 50 | 0 | 25 |
2018-06-07 | 20 | 50 | 0 | 25 |
列中的值是给定 y 随时间变化的密度。
我想绘制这个,以便在 y=100 时,在 dt=2018-06-06 -> 2018-06-06 之间,这条线的颜色为红色(对于值 10),然后对于 dt=2018 之间的 y=100 -06-06 -> 2018-06-07 该行的值为 20 的颜色为蓝色,依此类推。
本质上,它是一个时间直方图,其中时间 dt 之间给定 y 值的密度由该点的线颜色表示。
通过对数据进行一些拆分并在 matplotlib 或 plotly 中绘制一些系列,我可以很容易地实现它,这对于小型数据集非常有效。当我的数据变大时,例如 500 列和 100k 时间戳,那么这些数据就会失效。我想使用 datashader,但是在阅读了文档后我不确定如何实现我想要的。
是否有一些涉及分类变量的聪明技巧可以用来实现我想要的?或者有什么方法可以转换我的数据以更好地实现我想要的。
python-3.x - 绘图地图框中多边形的数据着色器集成
我正在使用 plotly 的 Scattermapbox 用由 datashader 的阴影函数(基于https://plotly.com/python/datashader/)创建的多边形的阴影图像覆盖地图,但投影似乎没有对齐,见下图. 有什么建议可以使用 plotly 的 Scattermapbox 和 datashader 来克服这个问题吗?
可重现的例子:
我读到 Scattermapbox 仅支持墨卡托投影,我发现这令人困惑,因为 plotly 文档中的示例似乎是 long/lat 格式,但我尝试将 GeoDataFrame 的坐标转换为 epsg 3857,请参阅
结果是阴影图像变得不可见。任何帮助将不胜感激。
python - 如何在数据着色器中设置正确的彩色图像颜色?
我试图从有关Timeseries的数据着色器页面中绘制一个给定的示例。我使用了包括本段在内的所有代码片段,并尝试通过将 传递给img
matplotlib来绘制:img
plt.imshow(img)
我想,它会渲染一个图像,如图所示,具有白色背景和蓝色图形。然而,结果看起来像这样:
此外,我还尝试了以下几行,但我无法创建数据着色器页面上显示的示例图像:
如何正确设置图像的颜色以便绘制、保存或使用它?
它在数据着色器示例中是如何工作的?
python - 如何使用 holoview QuadMesh 绘制不规则网格的 RGB?
我正在处理不规则网格化的地球观测数据,并试图找到使用以散景作为后端的全息视图来有效绘制此数据的方法。如果可能的话,我希望避免插值。
通过 RGB 方法Holoviews RGB 坐标绘制规则网格数据似乎很简单。但是,不规则网格数据的方法似乎是使用 Quadmesh。实现这一点,并使用数据着色来节省内存,对于映射到定义颜色图的单个数据通道来说足够简单,例如;
到目前为止,一切都很好,但尽管我尽了最大的努力,我还是找不到为 3 通道 RGB 实现此功能的方法。在我之前的 matplotlib 尝试实现同样的事情时,我将一个元组传递给 pcolormesh “color”参数,或者将一个 LinearSegmentedColormap 传递给“cmap”参数。在这种情况下都不起作用。
令人惊讶的是,我找不到这样的预先存在的例子;这让我想知道我正在尝试的是否是不可能的。有没有其他人尝试过同样的事情并且可以提供帮助?