我想使用matplotlib更改情节上的xticks,例如用字符串替换。根据matplotlib手册page,我执行了以下代码:
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轴上的刻度未修改,并且出现以下错误
ConversionError:无法将值转换为轴单位:['test', “测试”,“测试”,“测试”,“测试”,“测试”,“测试”]
编辑:我希望在原始图的同一位置有刻度,其x轴不超过最小值和最大值,如下图所示: https://matplotlib.org/3.1.0/api/_as_gen/matplotlib.pyplot.xticks.html
预先感谢您的帮助!
EDIT2:它不是重复的,因为我直接使用它而不使用子图
答案 0 :(得分:1)
执行以下操作:
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()
x_ticks = []
new_xticks=['test' for d in locs]
plt.xticks(locs,new_xticks, rotation=45, horizontalalignment='right')
plt.show()
输出:
答案 1 :(得分:0)
您正在修改刻度线。但是刻度线必须是数字。如果要修改对勾 标签 ,可以通过
进行plt.xticks(locs, new_xticks)