如何使用matplotlib更改xticks?

时间:2019-06-25 02:40:52

标签: python python-3.x matplotlib

我想使用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:它不是重复的,因为我直接使用它而不使用子图

2 个答案:

答案 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()

输出:

enter image description here

答案 1 :(得分:0)

您正在修改刻度线。但是刻度线必须是数字。如果要修改对勾 标签 ,可以通过

进行
plt.xticks(locs, new_xticks)