【发布时间】:2019-08-30 07:18:24
【问题描述】:
我必须在几组数据上绘制二维直方图。我需要增加点之间的对比度,因为差异不是很明显。 鉴于每个数据集中的最大值不同,我必须找到一种自动的方式来进行归一化和增加强度(对比度)。
这是我在每个数据集上使用的代码:
H2, xedges, yedges, image = plt.hist2d(DF['x'], DF['y'], bins=(500, 500), cmap="hot", cbar = False, xticklabels = False, yticklabels = False, robust = True)
可能的解决方案是:
1- 将历史数除以数据集的最大值
2- 将数据集乘以强度因子(例如 1000)
3- 使用 seaborn.heatmap() 绘制新数据
这可以通过以下方式实现:
D2H, xedges, yedges = np.histogram2d(DF['x'], DF['y'], bins=(500, 500))
sns.heatmap(D2H/(D2H.max())*1000, cmap = "hot", cbar = False, xticklabels = False, yticklabels = False, robust = True)
你认为这是最好的方法吗?我期待任何更好、更简单的解决方案。谢谢。
【问题讨论】:
标签: python matplotlib histogram