1. 正文

1.1 没进行旋转

1.1.1 方法一:

  1. import pandas as pd
  2. import matplotlib.pyplot as plt
  3. file_name = 'data/input/plot2.xlsx'
  4. data = pd.read_excel(file_name, 'thumbs up')
  5. print(data)
  6. data['Date'] = data.Date.dt.strftime('%Y-%m-%d') # 改变时间类型
  7. x = data['Date'].values.tolist()
  8. y = data['sum of instructing'].values.tolist()
  9. plt.plot(x, y)
  10. plt.show()

我们发现x轴对应的刻度文字紧紧挨在一起,如下图所示:
MATPLOTLIB对X轴标签进行旋转的方法小结 - 图1

1.1.2 方法二:

  1. import pandas as pd
  2. import matplotlib.pyplot as plt
  3. file_name = 'data/input/plot2.xlsx'
  4. data = pd.read_excel(file_name, 'thumbs up')
  5. print(data)
  6. data['Date'] = data.Date.dt.strftime('%Y-%m-%d') # 改变时间类型
  7. x = data['Date'].values.tolist()
  8. y = data['sum of instructing'].values.tolist()
  9. fig,ax = plt.subplots()
  10. ax.plot(x, y)
  11. plt.show()

MATPLOTLIB对X轴标签进行旋转的方法小结 - 图2

1.2 旋转

1.2.1 方法一:PLT.XTICKS()

  1. import pandas as pd
  2. import matplotlib.pyplot as plt
  3. file_name = 'data/input/plot2.xlsx'
  4. data = pd.read_excel(file_name, 'thumbs up')
  5. print(data)
  6. data['Date'] = data.Date.dt.strftime('%Y-%m-%d') # 改变时间类型
  7. x = data['Date'].values.tolist()
  8. y = data['sum of instructing'].values.tolist()
  9. plt.plot(x, y)
  10. plt.xticks(rotation=90) # 旋转90度
  11. plt.show()

结果如下:
MATPLOTLIB对X轴标签进行旋转的方法小结 - 图3

1.2.2 方法二:AX.SET_XTICKLABELS

  1. import pandas as pd
  2. import matplotlib.pyplot as plt
  3. file_name = 'data/input/plot2.xlsx'
  4. data = pd.read_excel(file_name, 'thumbs up')
  5. print(data)
  6. data['Date'] = data.Date.dt.strftime('%Y-%m-%d') # 改变时间类型
  7. x = data['Date'].values.tolist()
  8. y = data['sum of instructing'].values.tolist()
  9. fig,ax = plt.subplots()
  10. ax.plot(x, y)
  11. ax.set_xticklabels(labels=x, rotation=90) # 旋转90度
  12. plt.show()

结果:
MATPLOTLIB对X轴标签进行旋转的方法小结 - 图4

1.2.3 方法三:TICK.SET_ROTATION()

  1. import pandas as pd
  2. import matplotlib.pyplot as plt
  3. file_name = 'data/input/plot2.xlsx'
  4. data = pd.read_excel(file_name, 'thumbs up')
  5. print(data)
  6. data['Date'] = data.Date.dt.strftime('%Y-%m-%d') # 改变时间类型
  7. x = data['Date'].values.tolist()
  8. y = data['sum of instructing'].values.tolist()
  9. fig,ax = plt.subplots()
  10. ax.plot(x, y)
  11. # ax.set_xticklabels(labels=x, rotation=90) # 旋转90度
  12. for tick in ax.get_xticklabels():
  13. tick.set_rotation(90)
  14. plt.show()

MATPLOTLIB对X轴标签进行旋转的方法小结 - 图5

1.2.4 方法四:PL.XTICKS()(附)

说明:

  • 此方法对于上述两种(1.1 中未进行旋转的)均适用,即不管是用plt直接画图,还是先创建fig对象都可以。
  • 此处用plt,另一种方法(ax)读者可自行验证
    1. import pandas as pd
    2. import matplotlib.pyplot as plt
    3. import pylab as pl
    4. file_name = 'data/input/plot2.xlsx'
    5. data = pd.read_excel(file_name, 'thumbs up')
    6. print(data)
    7. data['Date'] = data.Date.dt.strftime('%Y-%m-%d') # 改变时间类型
    8. x = data['Date'].values.tolist()
    9. y = data['sum of instructing'].values.tolist()
    10. plt.plot(x, y)
    11. pl.xticks(rotation=90)
    12. plt.show()
    MATPLOTLIB对X轴标签进行旋转的方法小结 - 图6
    转自:https://www.freesion.com/article/19231413891/