带有xarray数据集的Holoviews:如何分散绘制两个变量?

时间:2019-12-10 13:39:03

标签: python plot python-xarray holoviews

我得到了以下xarray xr.Dataset:

# st_data
Dimensions:       (observations: 3429703)
Coordinates:
  * observations  (observations) MultiIndex
  - a             (observations) object 'XMD1' 'XMD1' ... 'ZZPU'
  - b             (observations) object '00000049541' ... '00000232254'
Data variables:
    counts        (observations) int32 dask.array<chunksize=(151311,), meta=np.ndarray>
    true          (observations) float32 dask.array<chunksize=(151311,), meta=np.ndarray>
    predicted     (observations) float32 dask.array<chunksize=(95325,), meta=np.ndarray>

现在,我想对true与“预测的”进行散点图绘制。

hv.Scatter(data=hv.Dataset(st_data), kdims=["observations"], vdims=["true", "predicted"])

我认为这是错误的,因为它失败并显示AttributeError: 'tuple' object has no attribute 'item'。 要在这里获得有效的散点图,我必须更改什么?

2 个答案:

答案 0 :(得分:0)

通常用于Holoviews中的散点图:

kdims是x轴上的值,
vdims是y轴上的值。

由于我一直使用pandas df,所以我对xarray不太了解,但这行得通吗?

hv.Scatter(data=st_data, kdims=['true'], vdims=['predicted'])

答案 1 :(得分:0)

我从Xarray数据集创建一个DataFrame,并使用它来绘制散点图,如下所示:

dataframe = xr_dataset.data.to_dataframe()

scatter = hv.Scatter(dataframe, 'variable1', 'variable2')