使用直方图,有一个简单的内置选项histtype='step'
。如何制作相同风格的条形图?
问问题
23503 次
3 回答
15
[阅读评论后添加答案]将可选关键字设置fill=False
为条形图:
import matplotlib.pyplot as plt
plt.bar(bins[:5], counts[:5], fill=False, width=60) # <- this is the line
plt.title("Number of nodes with output at timestep")
plt.xlabel("Node count")
plt.ylabel("Timestep (s)")
或plt.plot
与关键字一起使用ls='steps'
:
plt.plot(bins[-100:], counts[-100:], ls='steps')
plt.title("Number of nodes with output at timestep")
plt.xlabel("Node count")
plt.ylabel("Timestep (s)")
于 2015-08-27T21:58:15.790 回答
8
尽管 OP 链接到一个帖子,该帖子回答了与直方图阶梯图有关的稍微不同的问题,但对于通过这里的任何人来说,这是一个解决方案,他们专门试图关闭pyplot.bar
条形图中的面部颜色:
import matplotlib.pyplot as plt
import numpy as np
# create x coords for the bar plot
x = np.linspace(1, 10, 10)
# cook up some random bar heights -- exact results may vary :-P
y = np.random.randn(10)
z = np.random.randn(10) * 2
# plot bars with face color off
plt.bar(x-0.2, y, width=0.4, edgecolor='purple', color='None')
plt.bar(x+0.2, z, width=0.4, edgecolor='darkorange', color='None')
plt.show()
请注意,条形边缘具有可设置的matplotlib.lines.Line2D
属性,例如linewidth
、linestyle
、alpha
等:
plt.bar(x-0.2, y, width=0.4, edgecolor='purple', color='None',
linewidth=0.75, linestyle='--')
plt.bar(x+0.2, z, width=0.4, edgecolor='darkorange', color='None',
linewidth=1.5, linestyle='-.')
plt.show()
于 2018-03-21T18:55:43.440 回答