every blog every motto: Just live your life cause we don’t live twice.
https://blog.csdn.net/weixin_39190382?spm=1010.2135.3001.5343
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