繁体   English   中英

如何更改 matplotlib 中的 xticks

[英]How to change the xticks in matplotlib

我正在尝试重命名 matplotlib 中的 yticks。
使用此代码行,我得到了第一个数字。

from matplotlib import pyplot as plt
incr = -2
fig = plt.figure(figsize=(4,2))
ax = fig.add_subplot(111)
ax.set_yticks([])

yy = [[0.1, 0.2, 0.4], [0.2,0.3, 0.5], [0.4, 0.3, 0.5]]
for i in range(len(yy)):
    incr += 2
    xx = list(range(len(yy[i])))
    xx = [x+incr for x in xx]
    ax.plot(xx, yy[i])
    ax.plot([incr,incr], [0,.3])

输出图。

我怎么能改变这个图中的 xticks

预期的图

from matplotlib import pyplot as plt

incr = -2
fig = plt.figure(figsize=(4,2))
ax = fig.add_subplot(111)
ax.set_yticks([])
xlabel = []
yy = [[0.1, 0.2, 0.4], [0.2,0.3, 0.5], [0.4, 0.3, 0.5]]
for i in range(len(yy)):
    incr += 2
    xx = list(range(len(yy[i])))
    xx = [x+incr for x in xx]
    ax.plot(xx, yy[i])
    ax.plot([incr,incr], [0,.3])
    xlabel.append(incr)

ax.set_xticks(xlabel)
ax.set_xticklabels(['set 1', 'set 2', 'set 3'], rotation=45)

for label in ax.get_xticklabels():
    label.set_horizontalalignment('left')

Output:

在此处输入图像描述

也可以用 pylab 和 xticks 做到这一点

import matplotlib
import matplotlib.pyplot as plt
x = [0,1,2]
y = [90,40,65]
labels = ['high', 'low', 37337]
plt.plot(x,y, 'r')
plt.xticks(x, labels, rotation='vertical')
plt.show()

https://matplotlib.org/stable/gallery/ticks_and_spines/ticklabels_rotation.html

https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.xticks.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM