pandas - 如何使不同的列在 holoviews / hvplot 中呈现为不同的颜色?
问题描述
我有一个带有两列时间序列数据的熊猫数据框。在我的实际数据中,这些列足够大,以至于如果没有数据着色器,渲染就很笨拙。我正在尝试比较这两个时间序列中的事件。但是,我需要能够分辨出哪个数据点来自哪一列。下面是一个简单的功能示例。如何让 A 列和 B 列使用不同的颜色图?
import numpy as np
import hvplot.pandas
import pandas as pd
A = np.random.randint(10, size=10000)
B = np.random.randint(30, size=10000)
d = {'A':A,'B':B}
df = pd.DataFrame(d)
df.hvplot(kind='scatter',datashade=True, height=500, width=1000, dynspread=False)
解决方案
您将不得不使用分别计算每个类别的 count_cat 聚合器,例如在上面的示例中,它看起来像这样:
import datashader as ds
df.hvplot(kind='scatter', aggregator=ds.count_cat('Variable'), datashade=True,
height=500, width=1000)
这里'Variable'
对应于group_label
hvplot 分配给列的默认值。如果您提供了不同group_label
的,则必须更新聚合器以匹配。但是,除了显式提供聚合器之外,您还可以使用by
关键字:
df.hvplot(kind='scatter', by='Variable', datashade=True,
height=500, width=1000)
一旦 hvplot 0.3.1 发布,您还可以提供一个明确的cmap
,例如:
df.hvplot(kind='scatter', by='Variable', datashade=True,
height=500, width=1000, cmap={'A': 'red', 'B': 'blue'})
推荐阅读
- unreal-engine4 - 查看对象虚幻时如何显示小部件?
- python - 根据索引位置对列值执行函数
- apache-spark - 类 org.apache.oozie.action.hadoop.SparkMain 未找到
- javascript - 让网络通知也在智能手机浏览器中工作?
- javascript - 函数启动其他函数时的变量可访问性 - javascript
- php - 为什么他们自动将“<”更改为<
- java - 如何将流中的所有元素减少到一个公共字段?
- android - 根据 Flavor 在 Android Studio 中显示布局
- oauth-2.0 - LinkedIn API 2 和 VanityName 来自 r_basicprofile
- javascript - 从输入中传递一个值以在 React.js 中进行分页