如何使错误栏须状物的 * 仅左侧部分 (与红色水平栏重叠) 为白色而不是黑色 * 以获得更好的可读性?
我试着在黑色的胡须上加上白色的边缘,但这看起来不太像我所期望的。
MWE:
import matplotlib.pyplot as plt
cm = 1/2.54 # for inches-cm conversion
fig, axes = plt.subplots(
num = 'main',
nrows = 2,
ncols = 1,
sharex=True,
dpi = 300,
figsize=(16.5*cm, 5*cm)
)
axes[0].set_xlim(0,100)
axes[0].set_ylim(-1,1)
axes[0].barh(
y = 0,
width = 30,
height = 1.5,
align='center',
color = 'red',
edgecolor = 'black'
)
axes[0].errorbar(
x = 30,
y = 0,
xerr = [[4], [65]],
fmt = 'none',
capsize = 2,
ecolor = 'black',
elinewidth = 1,
)
2条答案
按热度按时间kmynzznz1#
IIUC,你可以循环每对 bar/error 和
set_color
到white
,也可以使hlines
:w51jfk4q2#
您可以更改误差条函数,为误差条的每一侧选择单独的颜色,以便仅使误差条须的左侧部分为白色而不是黑色。您可以选择使左侧为白色,右侧为黑色。
以下是你应该如何去做:
输出:
在这里,我只使用markeredgecolor参数将误差条左侧的颜色指定为白色,而将右侧保持为黑色。这将创建您想要的效果,误差条晶须的左侧部分为白色。