我想使用matplotlib更改图表的xticks,例如用字符串替换。根据matplotlib手册https://matplotlib.org/3.1.0/api/_as_gen/matplotlib.pyplot.xticks.html,我编写了以下代码:
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(10)
y=x**2
plt.figure()
plt.plot(x,y)
locs, labels=plt.xticks()
new_xticks=['test' for d in locs]
plt.xticks(new_xticks, rotation=45, horizontalalignment='right')
当我这样做时,x轴上的刻度没有被修改,并且会出现以下错误: 转换错误:无法将值转换为轴单位:['test','test','test','test','test','test','test']。
编辑:我希望在原始图形的相同位置拥有刻度,其中x轴不超过最小和最大值,如下图所示:
![plot](https://istack.dev59.com/QE3Dq.webp)
编辑2:这不是重复问题,因为我直接进行操作而不使用子图。