如何控制Python中错误条图之间的一致性?
我有以下数据:如何控制Python中错误条图之间的一致性?,python,pandas,matplotlib,errorbar,Python,Pandas,Matplotlib,Errorbar,我有以下数据: import pandas as pd URL = "https://stepik.org/media/attachments/lesson/9250/atherosclerosis.csv" data = pd.read_csv(URL) atherosclerosis = data.groupby(["age", "dose"]).agg(['mean', 'std']) atherosclerosis.columns = ['_'.join(col) for col in
import pandas as pd
URL = "https://stepik.org/media/attachments/lesson/9250/atherosclerosis.csv"
data = pd.read_csv(URL)
atherosclerosis = data.groupby(["age", "dose"]).agg(['mean', 'std'])
atherosclerosis.columns = ['_'.join(col) for col in atherosclerosis.columns]
atherosclerosis
结果:
expr_mean expr_std
age dose
1 D1 104.758464 5.863454
D2 105.545864 4.369024
2 D1 101.004805 5.116310
D2 102.273629 5.135374
我画的误差条是这样的:
plot_data1 = atherosclerosis.xs('D1', level=1, drop_level=False)
plot_data2 = atherosclerosis.xs('D2', level=1, drop_level=False)
plot_index1 = [str(idx) for idx in plot_data1.index]
plot_index2 = [str(idx) for idx in plot_data2.index]
plt.errorbar(plot_index1, plot_data1["expr_mean"],
yerr=plot_data1["expr_std"]/2,
marker="s", mfc='green',
markeredgewidth=2, capsize=4, capthick=2,
fmt='o-', ecolor="magenta")
plt.errorbar(plot_index2, plot_data2["expr_mean"],
yerr=plot_data2["expr_std"]/2,
marker="s", mfc='green',
markeredgewidth=2, capsize=4, capthick=2,
fmt='o-', ecolor="magenta")
plt.show()
结果:
expr_mean expr_std
age dose
1 D1 104.758464 5.863454
D2 105.545864 4.369024
2 D1 101.004805 5.116310
D2 102.273629 5.135374
]
我能不能把(1,'D1')和(1,'D2')连接起来,把(2,'D1')和(2,'D2')连接起来。像这样:
]您只需更改绘图数据即可:
plot_data1 = atherosclerosis.xs(1, level=0, drop_level=False)
plot_data2 = atherosclerosis.xs(2, level=0, drop_level=False)
输出:
更新:要获得您想要的内容,我会对数据进行排序,并根据范围进行绘图: 动脉粥样硬化=动脉粥样硬化。分类指数(等级=(1,0)) 动脉粥样硬化['range']=np.arange(len(动脉粥样硬化)) 输出:
谢谢您的回答。你知道如何让它看起来更像示例中的吗?例如,将(1,'D1')和(2,'D1')放在一边,将(1,'D2'),(2,'D2')放在另一边。也许在其他图书馆(seasborn,plotly)也有可能。再次感谢。正是我需要的。