【发布时间】:2019-05-07 15:29:59
【问题描述】:
我见过 matplotlib 将断轴斜线标记放置在轴上的示例,例如 this one。
我的问题,我怎样才能把它放在栏杆坏了的地方?这可以以编程方式完成,以逐月更新时间序列图吗?
下面是我想要使用 excel 完成的示例。请注意巴黎六月酒吧和马德里五月酒吧中的波浪号。波浪线隐藏了它所覆盖的栏的一部分。
我还提供了更简单的示例数据以及到目前为止我能够做到的事情。
XX = pd.Series([200,400,100,1400],index=['x1','x2','x3','x4'])
fig, (ax1,ax2) = plt.subplots(2,1,sharex=True,
figsize=(5,6))
ax1.spines['bottom'].set_visible(False)
ax1.tick_params(axis='x',which='both',bottom=False)
ax2.spines['top'].set_visible(False)
ax2.set_ylim(0,500)
ax1.set_ylim(1200,1500)
ax1.set_yticks(np.arange(1000,1501,100))
XX.plot(ax=ax1,kind='bar')
XX.plot(ax=ax2,kind='bar')
for tick in ax2.get_xticklabels():
tick.set_rotation(0)
d = .015
kwargs = dict(transform=ax1.transAxes, color='k', clip_on=False)
ax1.plot((-d, +d), (-d, +d), **kwargs)
ax1.plot((1 - d, 1 + d), (-d, +d), **kwargs)
kwargs.update(transform=ax2.transAxes)
ax2.plot((-d, +d), (1 - d, 1 + d), **kwargs)
ax2.plot((1 - d, 1 + d), (1 - d, 1 + d), **kwargs)
plt.show()
【问题讨论】:
-
到底是什么问题?链接问题中的答案显示了如何(以编程方式)执行此操作。是不是你想要一个波浪符号而不是直线?
-
链接答案中的符号仅在轴上。我共享的 Excel 图像在轴和条上都有它。如何将斜杠或波浪线放在条形本身上
-
您可以将它们放置在条形大于下图限制(在本例中为 8M)的每个位置。
-
您能否提供代码,说明如何对我刚刚提供的示例数据执行此操作?当我尝试在 x4 条上添加斜线时,由于我设置的 ylimit,它被隐藏了。
标签: python matplotlib bar-chart