我想绘制带有错误的数据。数据点是空心菱形,我不希望错误的部分显示在空心菱形内部。我只希望它显示在菱形外部,留下内部空白。我使用的代码部分是:
plt.errorbar(x=unknown['asd'], y=(unknown['dsa'])*-10,
xerr=unknown['asderr'], yerr=(unknown['dsaerr']*-10), linestyle="None", fmt='D', markersize=7,
ecolor='b', elinewidth=0.2, capsize=0.05, markerfacecolor='white', markeredgecolor='blue',
label=None, alpha=0.6)
我试着用zorder:
plt.errorbar(x=unknown['asd'], y=(unknown['dsa'])*-10,
xerr=unknown['asderr'], yerr=(unknown['dsaerr']*-10), linestyle="None", fmt='D', markersize=7,
ecolor='b', elinewidth=0.2, capsize=0.05, markerfacecolor='white', markeredgecolor='blue',
label=None, alpha=0.6, zorder=1)
plt.plot(unknown['asd'], (unknown['dsa'])*-10, marker='D', markerfacecolor='none', markeredgecolor='blue',
markeredgewidth=1, markersize=7, linestyle='None', zorder=2, alpha=0.6)
但是我仍然看到错误条穿过空心钻石。有没有什么快速的方法使错误条线不显示在空心部分下面?
1条答案
按热度按时间sz81bmfz1#
这是由于在
plt.errorbar
调用中设置了alpha
值。下面是一个更简单的示例,说明您正在执行的操作:
删除
alpha=0.6
,您将获得下图出于某种原因,您可能希望在
errobar
调用中保留alpha值。在这种情况下,为了获得所需的图形,您必须创建第二个图(plt.plot
或plt.scatter
)来隐藏每个空心菱形的中心。