1

我需要hist2d从熊猫数据框中绘制带有轮廓曲线和颜色条的曲线。

数据框具有三个列:

x_col, y_col, z_col

我想绘制这样的东西,其中z_col的权重是hist2d

但我不知道如何将 z_col 从 hist2d 函数转换为权重一维数组。

fdf = df.groupby([valueX, valueY], as_index=False).mean().sort([valueX, valueY])
x = fdf[valueX]
y = fdf[valueY]
z = fdf[valueZ]

(... axes instantiation)

bins = 100

counts, xbins, ybins, image = axes.hist2d(x, y, bins=bins, normed=True, weights=z)
axes.contour(counts, extent=[xbins.min(), xbins.max(), ybins.min(), ybins.max()], linewidths=3)

pc = axes.pcolor(counts, cmap=cm.jet)
fig.colorbar(pc)

axes_x.hist(x, bins=bins)
axes_y.hist(y, bins=bins, orientation='horizontal')
4

1 回答 1

-1

您必须输入具有相同长度的数组 x 或 y(这些也必须具有相同的长度)

由于 z_col 是数据框中的一列,因此它将具有正确的维度(与 x_col 或 y_col 相同)

要获取您需要的数组:dataframe.z_col.values 这是一个数组)。另一方面,dataframe.z_col 是熊猫系列

于 2020-02-25T10:12:31.033 回答