问题标签 [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 - 使用具有日期时间维度的 xarray DataArray 中的数据着色器进行绘图
我有一个二维的 xarray DataArray。一个维度是频率,另一个是时间。创建 DataArray 时,我指定坐标。
我遇到的问题是,如果我将时间坐标 (dt) 定义为 pandas date_range 或 timedelta_range
或者
数据着色器抛出错误
跑完之后
但是,我可以将时间坐标指定为一个np.arange
对象,它具有int
类型并且工作正常。但是后来我从数组中丢失了日期时间信息。
有没有解决的办法?
python - 使用 Datashader 和 Holoviews 具有多种颜色和图例的时间序列
我想绘制一个包含 3 列的时间序列数据框,每条曲线一个。我希望每条曲线都有自己的颜色并显示一个图例,hvplot()
默认情况下也是如此。
这是一个独立的示例:
这是结果(左侧没有数据着色器,右侧有数据着色器):
将绘图传递给数据着色器时,颜色和图例会丢失。使用 的datashade=True
参数hvplot
具有相同的结果。
Datashader 文档中有一个关于时间序列绘图的教程,但它非常复杂,它datashader.transfer_functions.shade()
用作操作图形的基础,而没有过多介绍它的工作原理,而且 API 也不是很清晰。我只想保留 bokeh/hvplot 默认提供的这些基本绘图功能,我不确定 datashader 不保留它们的原因,所以我不知道要修复什么。
如何向数据着色器发出信号以保留不同的颜色并绘制图例?
python - 将数据着色器添加到 matplotlib 子图 - 位置参数错误
我想使用数据着色器输出作为 plt 子图的输入。
我正在尝试运行此问题的答案中建议的代码: Add datashader image to matplotlib subplots
下面是代码:
我收到一个错误:
我尝试在此处查看 DSArtist 的源代码(https://github.com/holoviz/datashader/pull/200/files),但不太了解它。
如何解决错误?
谢谢!
python - 如何在数据着色器热图中填充或插入稀疏数据空白空间(欠采样)?
在数据着色器中绘制一组数据时,如果 X 轴具有离散数字和欠采样,则会在可以看到背景的列之间留下间隙。
我一直试图通过尝试设置更大的点大小或使用 dynspread 传递函数来解决这个问题。不走运——很可能是我不知道应用这些的正确方法。
这是重现我的意思的示例代码:
当然,使用 bokeh 绘制相同的集合会显示相同的内容。更糟糕的是,如果你放大:
bokeh - 使用 Holoviews 和 Bokeh 绘制 10 亿个点,需要捕获 lasso 几何以获得所选点
我对 Holoviews/DataShader/Bokeh 非常陌生,正在为研究项目分析这些库。我需要在散点图中绘制 10 亿个图,然后在图的套索上捕获选定的点,最好是选择的几何形状。
我确实遇到了这个例子——http: //holoviews.org/reference/streams/bokeh/Selection1D_points.html 我们需要通过DynamicMap 将您的选择流链接到holoviews 元素。然后,选择将保存您选择的索引。
下面是我尝试过并且成功获得几何图形的方法,但是绘图变得非常缓慢,如果它超过 100 万个点,我开始遇到浏览器内存问题,而且套索非常慢。
结果我也得到了两个图,因为单独的 hv.DynamicMap 不会显示这些点,我如何才能得到一个图。
python - Geotiff 叠加位置在 Holoviews/Bokeh 平铺地图上略微偏离
我有一个 Geotiff,我在瓷砖地图上显示,但它稍微偏南。例如,在这个屏幕截图中,图像的边缘应该是国家边界所在的位置,但它有点偏南:
这是代码的相关部分:
你可以在 google colab 上看到 live notebook。
现在,当人们不将地图转换为 Web 墨卡托时,这不是常见的“一切都结束了”的问题。它几乎是完美的,但事实并非如此。
Geotiff 是一个地球引擎出口。这是它在 Earth Engine 中最初的样子(参见实时代码):
正如您所见,图像随处可见。
起初,我怀疑可能是导出出错了,或者谷歌地图瓦片集有些不同,但不是,如果我在 Windows 笔记本电脑上的 QGis 应用程序中打开相同的导出 Tiff 并在同一个 OSM 瓦片地图上查看它在 colab 笔记本中,它看起来不错:
好的,图像没有完美地遵循边界,但我知道为什么而且这不相关(我过度简化了国家边界几何)。关键是,它被投影到正确的位置。因此,基于此,tiff 包含正确的信息,它可以显示在与 OSM tilemap 中的边界相同的位置,但在我的 Holoviews-Datashader-Bokeh 项目中,它仍然略有偏差。
知道为什么会这样吗?
python - Holoviews“点”与 Datashader 一起使用,但“曲线”抛出错误
我正在 Jupyter Notebook 中的 Python 中处理大数据(约 2500 万点),并希望拥有一个也不会永远加载的交互式图表。使用 Bokeh 为我提供了交互性,而 Holoviews 和 Datashader 允许相对快速地绘制数据。
Python:3.7.6
散景:1.4.0
Holoviews:
1.14.3 Numpy:1.19.5
Pandas:1.0.1
Numba:0.48.0
我运行这个示例代码没有问题:
但是当我将 Holoviews 选项从“Points”切换到“Curve”(这是原始代码)时,如下所示:
我收到了这个很长的错误:
如果我删除“datashade”线并仅绘制 Holoviews 曲线图,那么它工作正常。但如果它是一个 2500 万点的图,那将需要很长时间,因此我需要 Datashader:
关于可能导致此错误的任何想法?如果需要,我可以提供任何其他信息。
holoviews - Datashader:GeoDataFrames 的分类颜色映射
已安装的软件包
数据着色器 0.13.0,holoviews 1.14.4,geoviews 1.9.1.,散景 2.3.2。
我正在尝试做的事情
我正在尝试使用 Datashader 重新创建一个等值线图,其中一种颜色映射到大型 GeoDataFrame 中的一个类别,遵循管道页面中的这个示例以及这个以及这个SO,它们的语法和所有使用点都略有不同例如,而不是多边形。
可重现的代码示例
下面是完整数据集的一个小样本。
预期行为
我希望所有多边形都被光栅化并以每个类别的单一颜色显示。
观察到的行为
完整的数据集产生几乎是白色的图像,一些轮廓非常隐约可见。
如果我改变背景颜色,一些多边形会更加突出,尽管即使是标题也只是隐约可见。
这是否与 Datashader 计算有关,正如 Pipeline 笔记本所提到的,“根据每个类别对该像素的贡献,每个像素的透明度和颜色”?但是由于每个类别都是每个像素的唯一贡献者(即在这种情况下与其他类别没有空间重叠),为什么 alpha 似乎设置得如此之低以至于看不到任何东西?我还尝试了agg=ds.by('category')
具有相同结果的聚合器。
顺便说一句,如果我删除“类别”列(否则会导致“输入必须是数字”错误)并将 GeoViews 与 HoloViews 结合使用,rasterize
我可以毫无问题地使用一种颜色来可视化多边形,但我还没有弄清楚如何使用这种方法在同一个 Bokeh/或 mpl 图上绘制具有不同颜色映射的多个数据着色 GDF(通常的 HoloViews“叠加乘法”在这种情况下不起作用)。
python - 发生异常:OSError 无法加载共享对象文件:llvmlite.dll
我正在尝试通过以下方式导入 Python 的 datashader 包:
但我不断收到此错误:
发生异常:OSError 无法加载共享对象文件:llvmlite.dll
我尝试通过 conda 和 pip 安装/卸载软件包:
但我似乎无法修复。任何帮助表示赞赏。
python - 绘制分类数据时如何告诉数据着色器对 NA 值使用灰色
我有非常大的数据集,我无法直接使用全息视图进行绘制。我想用分类数据制作散点图。不幸的是,我的数据非常稀疏,许多点都将 NA 作为类别。我想让这些点变灰。有什么方法可以让数据着色器知道我想做什么?
我向您展示我现在的做法(正如https://holoviews.org/user_guide/Large_Data.html中或多或少提出的那样)。我给你举个例子:
您可以看到一些问题:最重要的是,虽然只有一个来自巴黎的人,但您会看到 NA 人(查理)也印有紫色,这是巴黎的颜色。有没有办法让点变灰?我尝试了很多情节,似乎 NA 总是采用图例中最后一项的颜色。
然后有一些我不想提出问题的小问题。(如果您认为他们应该提出自己的问题,请告诉我,我是 stackoverflow 的新手,感谢您的建议。)
另一个问题:这些点的大小并不相同。这是相当丑陋的。有没有办法改变它?
然后我还有一个问题:datashader内部是否也使用.cat.categories
-method来决定使用什么颜色?数据着色器使用的颜色是如何确定的?因为我想知道图例是否总是按正确的顺序排列(显示正确的颜色:如果您在cats
那时排列顺序color_key
并且cats
不再按相同的顺序并且图例显示错误的颜色)。它似乎总是像我一样工作,但我觉得有点不安全。
也许有人想给出他们的意见Points
,在这种情况下是否可以用于散点图。因为我没有看到任何区别,Scatter
并且在语义上也没有真正的一个变量会导致另一个变量(尽管有人可能会争辩说在这种情况下年龄会导致经验,但我将绘制不容易找到的变量那些类型的因果关系)所以Points
如果我正确理解文档https://holoviews.org/reference/elements/bokeh/Points.html最好使用。