【发布时间】:2015-02-04 00:32:03
【问题描述】:
我正在尝试创建显示均值置信区间的小提琴图。我认为一个简单的方法是在小提琴图的顶部绘制一个点图,但这不起作用,因为它们似乎使用不同的 xaxis 索引,如本例所示:
import matplotlib.pyplot as plt
import seaborn as sns
titanic = sns.load_dataset("titanic")
titanic.dropna(inplace=True)
fig, (ax1,ax2,ax3) = plt.subplots(1,3, sharey=True, figsize=(12,4))
#ax1
sns.pointplot("who", "age", data=titanic, join=False,n_boot=10, ax=ax1)
#ax2
sns.violinplot(titanic.age, groupby=titanic.who, ax=ax2)
#ax3
sns.pointplot("who", "age", data=titanic, join=False, n_boot=10, ax=ax3)
sns.violinplot(titanic.age, groupby=titanic.who, ax=ax3)
ax3.set_xlim([-0.5,4])
print(ax1.get_xticks(), ax2.get_xticks())
给出:[0 1 2] [1 2 3]
为什么这些图没有为“谁”变量分配相同的 xtick 数字,我有什么办法可以改变它?
我还想知道是否可以更改点图的标记,因为正如您在图中看到的那样,点太大以至于它覆盖了整个置信区间。如果可能的话,我只想要一条水平线。
【问题讨论】:
标签: python matplotlib seaborn