【matplotlib】对x轴标签进行旋转的方法小结

every blog every motto: Just live your life cause we don’t live twice.

0. 前言

本文主要对x轴标签进行旋转方法的小结
说明:

  • 笔者在查阅其他博客时,发现有的把x/y轴(代表的含义)附近的说明文字称作标签,有的把刻度对应的文字称为标签。
  • 本文指上述后者,但笔者更倾向将第一种称为标签,笔者暂不知道一个合理的称呼,在这里用“标签”代替。

1. 正文

1.1 没进行旋转

1.1.1 方法一:

import pandas as pd
import matplotlib.pyplot as plt

file_name = 'data/input/plot2.xlsx'

data = pd.read_excel(file_name, 'thumbs up')
print(data)

data['Date'] = data.Date.dt.strftime('%Y-%m-%d')  # 改变时间类型

x = data['Date'].values.tolist()
y = data['sum of instructing'].values.tolist()

plt.plot(x, y)
plt.show()

我们发现x轴对应的刻度文字紧紧挨在一起,如下图所示:
在这里插入图片描述

1.1.2 方法二:

import pandas as pd
import matplotlib.pyplot as plt

file_name = 'data/input/plot2.xlsx'

data = pd.read_excel(file_name, 'thumbs up')
print(data)

data['Date'] = data.Date.dt.strftime('%Y-%m-%d')  # 改变时间类型

x = data['Date'].values.tolist()
y = data['sum of instructing'].values.tolist()

fig,ax = plt.subplots()
ax.plot(x, y)

plt.show()

在这里插入图片描述

1.2 旋转

1.2.1 方法一:plt.xticks()

import pandas as pd
import matplotlib.pyplot as plt

file_name = 'data/input/plot2.xlsx'

data = pd.read_excel(file_name, 'thumbs up')
print(data)

data['Date'] = data.Date.dt.strftime('%Y-%m-%d')  # 改变时间类型

x = data['Date'].values.tolist()
y = data['sum of instructing'].values.tolist()

plt.plot(x, y)
plt.xticks(rotation=90) # 旋转90度
plt.show()

结果如下:
在这里插入图片描述

1.2.2 方法二:ax.set_xticklabels

import pandas as pd
import matplotlib.pyplot as plt

file_name = 'data/input/plot2.xlsx'

data = pd.read_excel(file_name, 'thumbs up')
print(data)

data['Date'] = data.Date.dt.strftime('%Y-%m-%d')  # 改变时间类型

x = data['Date'].values.tolist()
y = data['sum of instructing'].values.tolist()

fig,ax = plt.subplots()
ax.plot(x, y)
ax.set_xticklabels(labels=x, rotation=90)  # 旋转90度
plt.show()

结果:
在这里插入图片描述

1.2.3 方法三:tick.set_rotation()

import pandas as pd
import matplotlib.pyplot as plt

file_name = 'data/input/plot2.xlsx'

data = pd.read_excel(file_name, 'thumbs up')
print(data)

data['Date'] = data.Date.dt.strftime('%Y-%m-%d')  # 改变时间类型

x = data['Date'].values.tolist()
y = data['sum of instructing'].values.tolist()

fig,ax = plt.subplots()
ax.plot(x, y)

# ax.set_xticklabels(labels=x, rotation=90)  # 旋转90度

for tick in ax.get_xticklabels():
    tick.set_rotation(90)
plt.show()

在这里插入图片描述

1.2.4 方法四:pl.xticks()(附)

说明:

  • 此方法对于上述两种(1.1 中未进行旋转的)均适用,即不管是用plt直接画图,还是先创建fig对象都可以。
  • 此处用plt,另一种方法(ax)读者可自行验证
import pandas as pd
import matplotlib.pyplot as plt
import pylab as pl

file_name = 'data/input/plot2.xlsx'

data = pd.read_excel(file_name, 'thumbs up')
print(data)

data['Date'] = data.Date.dt.strftime('%Y-%m-%d')  # 改变时间类型

x = data['Date'].values.tolist()
y = data['sum of instructing'].values.tolist()

plt.plot(x, y)
pl.xticks(rotation=90)
plt.show()

在这里插入图片描述

参考文献

[1] https://blog.csdn.net/songrenqing/article/details/78927283
[2] https://ask.csdn.net/questions/769831
[3] https://blog.csdn.net/qq_15407209/article/details/86486480
[4] https://blog.csdn.net/changzoe/article/details/78851329
[5] https://blog.csdn.net/changzoe/article/details/78851329

猜你喜欢

转载自blog.csdn.net/weixin_39190382/article/details/109312056