首页 > 解决方案 > 使用 subplot Python 显示 xticks

问题描述

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

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

我试图绘制下面我无法显示 x 轴刻度线(即relHazardRate是一个范围从 3% 到 6% 的变量,并且relHazardFICO是一个范围从 300-850 的变量。子图中的每个数字都有自己的x-axis/ticker(有 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 轴标记每个图,如图所示这没有发生。

在此处输入图像描述

标签: pythonmatplotlibsubplot

解决方案


删除带有label_outer.

文档

label_outer()

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

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

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


推荐阅读