Arwen_H
2018-11-06 10:16
采纳率: 100%
浏览 11.8k
已采纳

matplotlib共用x轴标签旋转问题

目标是把这个图的x轴标签数字全部旋转90度。

 import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0.01, 10.0, 0.01)
data1 = np.exp(t)
data2 = np.sin(2 * np.pi * t)

fig, ax1 = plt.subplots()

color = 'tab:red'
ax1.set_xlabel('time (s)')
ax1.set_ylabel('exp', color=color)
ax1.plot(t, data1, color=color)
ax1.tick_params(axis='y', labelcolor=color)

ax2 = ax1.twinx()  

color = 'tab:blue'
ax2.set_ylabel('sin', color=color)  
ax2.plot(t, data2, color=color)
ax2.tick_params(axis='y', labelcolor=color)
plt.xticks(rotation=50) #如果不是共用轴,就可以设置。现在共用X轴就无法使用xticks的rotation来对x周标签旋转
fig.tight_layout()  
plt.show()
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • SandyLsnSmile 2018-11-07 05:13
    已采纳

    把代码中这句plt.xticks(rotation=50)改成下面,

     for xtick in ax1.get_xticklabels():
        xtick.set_rotation(50)
    

    x轴的坐标就rotate了

    评论
    解决 7 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题