示例如下 :
重要的是这一行:
plt.xticks(np.arange(len(a)), np.arange(1, len(a)+1))
import matplotlib.pyplot as plt
import numpy as np
a=np.array( [0.10478151, 0.09909564, 0.01319826, 0.00743225, 0.00483721, 0.18202419, 0.01732046, 0.04153536, 0.03317991, 0.0536289, 0.00585423, 0.00929871, 0.00629363, 0.12180654, 0.00607781, 0.03752038, 0.05547452, 0.01459015, 0.00604909, 0.01132442, 0.00710363, 0.11159429, 0.0079922, 0.04198672])
plt.xlabel('Dimension')
plt.ylabel('Importance')
plt.plot(a, 'ro', color='r',linewidth=1.0, label="Graph2")
# just the following line will do it
plt.xticks(np.arange(len(a)), np.arange(1, len(a)+1))
plt.grid()
plt.show()
其实也可以写成
plt.xticks(np.arange(1, len(a)+1))
import matplotlib.pyplot as plt
import numpy as np
a=np.array( [0.10478151, 0.09909564, 0.01319826, 0.00743225, 0.00483721, 0.18202419, 0.01732046, 0.04153536, 0.03317991, 0.0536289, 0.00585423, 0.00929871, 0.00629363, 0.12180654, 0.00607781, 0.03752038, 0.05547452, 0.01459015, 0.00604909, 0.01132442, 0.00710363, 0.11159429, 0.0079922, 0.04198672])
plt.xlabel('Dimension')
plt.ylabel('Importance')
plt.plot(range(1, len(a)+1), a, 'ro', color='r',linewidth=1.0, label="Graph2")
# just the following line will do it
plt.xticks(np.arange(1, len(a)+1))
plt.grid()
plt.show()
注意,更改后需要x轴对应的y值也跟着往右移动。
plt.plot(range(1, len(a)+1), a, 'ro', color='r',linewidth=1.0, label="Graph2")
# just the following line will do it
plt.xticks(np.arange(1, len(a)+1))
也可以设置间隔,all_error有120个值,想要横坐标显示为1,10,20,30,...,120,同时改变plt.plot和plt.xticks的参数,把plt.xticks的参数设置为想要显示的列表即可。
plt.figure(figsize=(10, 5)) plt.plot(range(1, 121), all_error, label='Relative Error', marker='o') plt.title('Plot of Relative Error') plt.xticks(list(range(1, 10, 10)) + list(range(10, 121, 10))) plt.xlabel('Feature Index') plt.ylabel('Relative Error') plt.legend() plt.savefig("relative error.png") plt.show()
参考:
matplotlib中的刻度,标签(重置自定义标签)_matplotlib 重置坐标标签-CSDN博客
python - Python MatplotLib 绘制 x 轴,第一个 x 轴值标记为 1(而不是 0) - SegmentFault 思否