【问题标题】:Displaying xticks using subplot Python使用 subplot Python 显示 xticks
【发布时间】:2020-12-09 20:07:37
【问题描述】:

我正在尝试绘制一些子图。我遇到的问题是为每个图标记 x 轴,因为它们都是不同的。

变量relHazardRaterelHazardFICO 是大小为50 X 2 的数据帧

我试图绘制下面我无法显示 x 轴刻度线(即relHazardRate 是一个范围从 3% 到 6% 的变量,relHazardFICO 是一个范围从 300-850 的变量。子图中的每个图都有自己的 x 轴/代码(有 8 个这样的图),我为 2 提供了我的逻辑,如下所示。

fig, ((ax1, ax2), (ax3, ax4), (ax5, ax6), (ax7, ax8)) = plt.subplots(4, 2,figsize=(12,8))

ax1.plot(relHazardRate['orig_coupon'],relHazardRate['Hazard Multiplier']); 
ax1.title.set_text('Original Interest Rate'); 
ax1.set_xticks(range(len(relHazardRate['orig_coupon'])));
ax1.set_xticklabels(relHazardRate['orig_coupon'].to_list())

ax2.plot(relHazardFICO['orig_FICO'],relHazardFICO['Hazard Multiplier'], 'tab:orange');
ax2.title.set_text('Original FICO');
ax2.set_xticks(range(len(relHazardRate['orig_FICO'])));     
ax2.set_xticklabels(relHazardRate['orig_FICO'].to_list())

ax.3 through ax.8 follow a similar decleration as the described above

for ax in fig.get_axes():
    ax.label_outer()

我得到的子图如下,我想用自己的 x 轴标记每个图,如图所示,这不会发生。

【问题讨论】:

  • 不确定还有多少种说法...我想显示每个图表的 x 轴标签,其中每个图表的 x 轴彼此不同。

标签: python matplotlib subplot


【解决方案1】:

删除带有label_outer 的行。

来自docs

label_outer()

仅显示“外部”标签和刻度标签。

x-labels 只保留在最后一行的子图上; y-labels 仅适用于第一列的子图

显然这就是导致您在情节中看到的行为的原因

【讨论】:

    猜你喜欢
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 2022-07-27
    • 2021-07-10
    • 2019-11-05
    • 1970-01-01
    • 2018-07-02
    相关资源
    最近更新 更多