我想弄清楚如何在我的情節(jié)中只制作帶有上限“-”的上誤差線,我已經(jīng)通過lolims爭論弄清楚了。不幸的是,我的錯誤欄標有箭頭,我更喜歡默認的。上面的子圖是我想要的錯誤欄,下面的是我想要在上面的子圖中的標記。我的代碼:import pandas as pdimport matplotlib.pyplot as pltsheet = pd.read_excel(load file with my data)fig, axs = plt.subplots(2, 1)fig.suptitle('Gene expression', fontsize=16)axs[0].bar(sheet.columns, sheet.iloc[17],hatch="/", color="white", edgecolor="black")axs[0].errorbar(sheet.columns, sheet.iloc[17], yerr=sheet.iloc[22], capsize=3, ecolor='black', fmt=' ', elinewidth=1, lolims=True)axs[1].bar(sheet.columns, sheet.iloc[17],hatch="-", color="white", edgecolor="black")axs[1].errorbar(sheet.columns, sheet.iloc[17], yerr=sheet.iloc[22], capsize=3, ecolor='black', fmt=' ', elinewidth=1,)plt.show() 和我的地塊圖片:我怎樣才能實現(xiàn)它?
1 回答

慕標琳琳
TA貢獻1830條經(jīng)驗 獲得超9個贊
根據(jù)您是否希望看到小寫字母,您有三種可能性:
指定 (2,N) 形 yerr 或
在條形圖后面繪制誤差條
之后更改上限(如 BigBen 在下面評論的那樣)
import matplotlib.pyplot as plt
fig,ax = plt.subplots(3)
x = range(1,4)
ax[0].bar(x, x, fc='w', ec='k')
ax[0].errorbar(x, x, yerr=[[0,0,0], [.1,.2,.3]], fmt='none', capsize=3)
ax[1].bar(x, x, fc='w', ec='k', zorder=1 )
ax[1].errorbar(x, x, yerr=[.1,.2,.3], fmt='none', capsize=3, zorder=0)
ax[2].bar(x, x, fc='w', ec='k')
_, cl, _ = ax[2].errorbar(x, x, yerr=[.1,.2,.3], lolims=True, fmt='none', capsize=3)
cl[0].set_marker('_')
#cl[1].set_marker('') # to remove the lower cap
添加回答
舉報
0/150
提交
取消