我正在尝试绘制带有错误栏的简单图表。因此,我使用了y
函数。但是x轴顺序是字母顺序,但是我想更改它,我使用plt.errorbar
函数来指定x值的位置。但是结果是plt.xticks
改变了我想要的顺序,但是y值保持不变,现在不匹配x值。
开始时,我将python列表用于x和y,但我将其更改为xticks
数组,但结果相同。
numpy
我想要x和y的顺序相同,但是在我指定x = ['Andy', 'Red', 'Norton', 'Heywood', 'Tommy', 'DA','Bogs', 'Brooks', 'Skeet']
x = np.array(x)
y = np.array([1.298028801,1.189740519,0.848361823,1.636059322,1.026463944,
1.319936042,1.539851181,1.527549508,0.979018094])
error = np.array(y)
plt.errorbar(x, y, yerr=1.96*error, fmt='o', capsize=4, color= 'tomato')
plt.xlabel('character', size=15)
plt.ylabel('counts', size=15)
plt.xticks(range(len(x)), x)
plt.show()
之后,它与该顺序不匹配,该顺序最初是
plt.xticks
答案 0 :(得分:0)
使用matplotlib版本3.0.2:
import numpy as np
import matplotlib.pyplot as plt
x = ['Andy', 'Red', 'Norton', 'Heywood', 'Tommy', 'DA','Bogs', 'Brooks', 'Skeet']
x = np.array(x)
y = [1.298028801,1.189740519,0.848361823,1.636059322,1.026463944,1.319936042,1.539851181,1.527549508,0.979018094]
np.array([1.189740519,0.848361823,1.636059322,1.026463944,1.319936042,1.539851181,1.527549508,0.979018094])
error = np.array(y)
plt.errorbar(x, y, yerr=1.96*error, fmt='o', capsize=4, color= 'tomato')
plt.xlabel('character', size=15)
plt.ylabel('counts', size=15)
# plt.xticks(range(len(x)), x)
plt.show()
输出: