【发布时间】:2021-03-24 01:03:44
【问题描述】:
我正在尝试绘制两个具有相同轴限制的二元直方图。当我只绘制它们而不试图改变它们的任何一个轴时,我得到了这个(省略了一些样板参数数据定义和 x/y 刻度格式):
def create_hist_plot(params, ax, cbar_ax=None, color=GK_GREEN, bins=80):
result = sns.histplot(
**params,
ax=ax,
kde=True,
bins=bins,
color=color,
)
return result
ax_2 = create_hist_plot(params_1, ax_2, color=GREEN, bins=40)
ax_3 = create_hist_plot(params_2, ax_3, color=PURPLE, bins=40)
我想调整紫色直方图的大小,使其具有与绿色直方图相同的轴限制。我试过手动设置这样的限制(ax_3 是紫色直方图,ax_2 是绿色直方图)
ax_3.set_ylim(ax_2.get_ylim())
ax_3.set_xlim(ax_2.get_xlim())
这给了我
但请注意紫色直方图中的 bin 现在是如何扭曲的。有没有办法在不扭曲 bin 的情况下修改直方图的轴限制?
【问题讨论】:
-
你能添加代码来创建二元直方图吗?或许您可以添加一个参数
bins=以在两个直方图中使用相同的 bin。 -
我添加了相关代码。我为两个图指定了 40 的 bin 大小。
-
你不应该为
bins=添加一个简单的数字,而是一对向量,一个用于x,一个用于y。由于尚不清楚数据和轴是如何构成的,因此很难举出一个例子。向量可能类似于np.linspace(min_val, max_val, 40),对两个直方图使用相同的最小值和最大值。 -
这是个好建议!我把你说的弄乱了一点,我得到了我想要的结果。我将更新我的问题以包括我为我工作的代码。如果您想将您的评论作为答案,我会标记为已接受。谢谢!
-
本,请将此添加为答案并接受。不要在问题中包含答案。
标签: python matplotlib seaborn histogram