我想用matplotlib绘制随机数的条形图。我单独设置了每个tick_label
,但只显示最后一个。哪一个是正确的?使用tick_label
属性还是使用plot set_xticks
函数?
import matplotlib.pyplot as plt
import random as r
for i in range(10):
plt.bar(i,i*2, r.randint(1,2) , tick_label=i)
plt.show()
我想用matplotlib绘制随机数的条形图。我单独设置了每个tick_label
,但只显示最后一个。哪一个是正确的?使用tick_label
属性还是使用plot set_xticks
函数?
import matplotlib.pyplot as plt
import random as r
for i in range(10):
plt.bar(i,i*2, r.randint(1,2) , tick_label=i)
plt.show()
2条答案
按热度按时间5jdjgkvh1#
假设你不能提前确定酒吧的数量(在进入循环之前),你可以用下面的代码在数字上循环并设置刻度。如果你有文本标签,在答案的底部还有另一个处理字符串的例子。
这将生成以下图片
然后,如果你碰巧在循环中也得到了一个字符串标签,你可以将它与
plt.xticks
函数的"label"
关键字参数一起使用:这将产生下面的图片(随机标签)。
xqnpmsa82#
正如注解所指出的,每次调用
plt.bar(tick_label=i)
时,刻度标签都会被覆盖。要解决这个问题,您可以将tick format命令移动到for
循环之外:输出: