在创建基于第二个y轴(基于熊猫数据框)的图表时,我正在努力共享x轴。我主要是从解决方案here中借钱的,在这里我喜欢编辑已接受的答案。
使用我自己的玩具数据框重新创建此解决方案时,我面临着我的x轴看起来不太好的问题。
df = pd.DataFrame(np.random.randint(0, 100, (20, 2)),
index=pd.date_range('20190101', periods=20),
columns=list('AB'))
fig, ax = plt.subplots()
ax.plot(df.index, df['A'], 'blue', label='Line A')
ax2 = ax.twinx()
ax2.plot(df.index, df['B'], 'red', label='Line B')
lines = ax.get_lines() + ax2.get_lines()
ax.legend(lines, [l.get_label() for l in lines],
loc='upper left', frameon=False, fontsize=20)
答案 0 :(得分:2)
一种解决方法是旋转x-tick标签:
df = pd.DataFrame(np.random.randint(0, 100, (20, 2)),
index=pd.date_range('20190101', periods=20),
columns=list('AB'))
fig, ax = plt.subplots()
plt.xticks(rotation=70)
ax.plot(df.index, df['A'], 'blue', label='Line A')
ax2 = ax.twinx()
ax2.plot(df.index, df['B'], 'red', label='Line B')
lines = ax.get_lines() + ax2.get_lines()
ax.legend(lines, [l.get_label() for l in lines],
loc='upper left', frameon=False, fontsize=20)
输出:
另一种选择是增加图形大小或减小标签字体大小,以使标签不再重叠。
fig, ax = plt.subplots(figsize=(15,10))
输出:
答案 1 :(得分:0)