Python:(Seaborn?)来自不规则网格的热图
假设我有两个给定的网格(例如,测量数据):Python:(Seaborn?)来自不规则网格的热图,python,pandas,matplotlib,seaborn,Python,Pandas,Matplotlib,Seaborn,假设我有两个给定的网格(例如,测量数据): 网格_1的范围为x=(-10…10);y=(-10…10)步长为1 网格2的范围为x=(-30…-10)和x=(10…30); y=(-30…-10)&y=(10…30)步长为5,因此它有一个 网格的大小为1 我还为两个网格的每对xi,yi提供了z值('dose') 两个数据集都以表格的形式呈现,有三列x,y,dose 我尝试使用seaborn的heatmap()函数绘制此数据的热图表示: dm1 = df1.pivot('y', 'x', 'do
- 网格_1的范围为
步长为1x=(-10…10);y=(-10…10)
- 网格2的范围为
步长为5,因此它有一个 网格的大小为1x=(-30…-10)和x=(10…30); y=(-30…-10)&y=(10…30)
- 我还为两个网格的每对
提供了z值(xi,yi
) 两个数据集都以表格的形式呈现,有三列'dose'
x,y,dose
dm1 = df1.pivot('y', 'x', 'dose')
opts = {'cmap': 'YlGnBu_r'}
ax = sns.heatmap(dm1, **opts)
ax.invert_yaxis()
plt.savefig('dosemap-test-smooth.pdf')
绘制两个相互独立的网格效果很好,但将它们绘制在一起会破坏热图的组合(?)。
所以我的问题是:如何使用python绘制这种“不规则”分布数据的热图(-like)表示法
提前感谢您的帮助 您能提供示例数据吗?我想我会研究scipy插值工具,它可以帮助您将数据集重新采样到同一个网格上。@IanS:可以在[此处](mz02D)和中找到两个数据样本@mwaskom:你能告诉我我可以使用哪些
scipy.interp
工具来实现这一点吗?因为我在使用interp2d()和`griddata()时遇到了一些问题
dm2 = df2.pivot('y', 'x', 'dose')
ax = sns.heatmap(dm2, **opts)
ax.invert_yaxis()
plt.savefig('dosemap-test-coarse.pdf')
df = df1.append(df2)
dm = df.pivot('y', 'x', 'dose')
ax = sns.heatmap(dm2, **opts)
ax.invert_yaxis()
plt.savefig('dosemap-test-total.pdf')