2

我正在尝试制作列散点图,就像您通常可以使用 Graphpad 生成的那样。

到目前为止,我有:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from scipy import stats
sns.set(style="white", rc={'figure.figsize':(11.7,8.27)})
plt.rcParams["axes.labelsize"] = 29


a=["X", "X", "X", "Y", "Y", "Y"]
b=[1,2,3,4,5,6]
c=["a", "b", "c", "a", "b", "c"]
df = pd.DataFrame({"sample": a, "value": b,"rep": c})

ax = sns.stripplot(x="sample", y="value", data=df, palette="Set1", marker='v',s=18)
median_width = 0.2
for tick, text in zip(ax.get_xticks(), ax.get_xticklabels()):
    sample_name = text.get_text()  # "X" or "Y"

    median_val = df[df['sample']==sample_name].value.median()


    ax.plot([tick-median_width/2, tick+median_width/2], [median_val, median_val],
            lw=2, color='k')

yer1=(stats.sem(b[0:2]),stats.sem(b[2:]))    
   
ax.set(ylim=(0,10))
plt.tick_params(axis='x', colors='black', direction='out', length=13, width=6,labelsize=29)
plt.tick_params(axis='y', colors='black', direction='out', length=13, width=6, labelsize=29)
plt.show()

我在这里和其他网站上使用了不同的查询来到达这个地方。

我想为 X 和 Y 自定义误差线,并且我希望这些误差线基于均值的标准误差 (SEM)。我什至使用 SciPy 计算了这些,但我无法将它们放在图表上。有可能这样做吗?

4

0 回答 0