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

本文总结了在Matplotlib中旋转X轴标签的四种方法,包括使用plt.xticks()、ax.set_xticklabels()、tick.set_rotation()及pl.xticks()等,并通过实例展示了如何避免标签重叠,提高图表可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡侃有料

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值