我只是用错误条创建了一个条形图,并想知道为什么从一个错误条到另一个错误条之间会画一条直线。你有什么办法解决这个问题吗?

守则:
for k in range(1,(len(Durchgansmarker)*2)+1):
if k<=int(len(Durchgansmarker)):
globals()[f'rects{k}_error'] =axes_1.errorbar(x -Anzahl_Balken/2*width_bar+(k*width_bar)-width_bar/2 ,globals()[f'y_tr_mean_E{k}'], yerr=globals()[f'y_tr_std_E{k}'], capsize=5, ecolor="k", elinewidth=2,barsabove='False' ,zorder=4)#fmt="o", color="r"
globals()[f'rects{k}'] = axes_1.bar(x -Anzahl_Balken/2*width_bar+(k*width_bar)-width_bar/2 ,globals()[f'y_tr_mean_E{k}'],width_bar, color=color_Bars[k-1],zorder=3)#,yerr=[globals()[f'y_tr_std_E{k}']]
else:
globals()[f'rects{k}_error'] =axes_1.errorbar(x -Anzahl_Balken/2*width_bar+(k*width_bar)-width_bar/2 ,globals()[f'y_ge_mean_E{k-3}'], yerr=globals()[f'y_ge_std_E{k-3}'], capsize=5, ecolor="k", elinewidth=2,barsabove='False' ,zorder=4)#fmt="o", color="r"
globals()[f'rects{k}'] = axes_1.bar(x -Anzahl_Balken/2*width_bar+(k*width_bar)-width_bar/2,globals()[f'y_ge_mean_E{k-3}'],width_bar, color=color_Bars[k-1],zorder=3)下面是bar和errorbar命令的y值:

发布于 2022-08-15 09:40:52
同时找到了解决办法。只需在调用linestyle=''函数时指定plt.errorbar作为参数。然后不绘制错误条之间的连接线(见图)。
在我的例子中,与原点问题相关的函数调用是:
globals()[f'rects{k}_error'] =axes_1.errorbar(x -Anzahl_Balken/2*width_bar+(k*width_bar)-width_bar/2 ,globals()[f'y_tr_mean_E{k}'], yerr=globals()[f'y_tr_std_E{k}'], capsize=5, ecolor="k", elinewidth=2,barsabove='False' ,zorder=4,linestyle='')

问候
https://stackoverflow.com/questions/73355327
复制相似问题