我正在使用seaborn来创建一个箱形图。但是,如何在图表上添加一行或一个点来显示单个数据值。例如,我将如何绘制下图中的值3.5。
import seaborn as sns
import matplotlib.pyplot as plt
df1 = [2.5, 2.5, 2, 3, 4, 3.5]
sns.set_style("whitegrid")
fig, ax = plt.subplots(figsize=(8,8))
plot1 = sns.boxplot(ax=ax, x=df1, linewidth=5)
答案 0 :(得分:4)
使用plt.scatter
可以达到同样的效果。个人偏好,因为语法更短,更简洁:
df1 = [2.5, 2.5, 2, 3, 4, 3.5]
sns.set_style("whitegrid")
fig, ax = plt.subplots(figsize=(8,8))
plot1 = sns.boxplot(ax=ax, x=df1, linewidth=5)
plt.scatter(3.5, 0, marker='o', s=100)
答案 1 :(得分:2)
这是你要找的吗?
df1 = [2.5, 2.5, 2, 3, 4, 3.5]
sns.set_style("whitegrid")
fig, ax = plt.subplots(figsize=(8,8))
sns.boxplot(ax=ax, x=df1, linewidth=5)
# sns scatter, with regression fit turned off
sns.regplot(x=np.array([3.5]), y=np.array([0]), scatter=True, fit_reg=False, marker='o',
scatter_kws={"s": 100}) # the "s" key in `scatter_kws` modifies the size of the marker