【发布时间】:2022-01-22 05:48:36
【问题描述】:
我有一些按类别分组的数据(即“a”、“b”、“c”等),我想在每对内点之间画线每个类别。
基本上,每个类别都有一个“之前”和“之后”的值,所以我用色调来划分它。这是现在的情节,但最终我希望给定类别的每个“之前”和“之后”值都用一条线连接(即 a_before 连接到 a_after,b_before 连接到 b_after 等)。
sns.pointplot (x = ‘category’, y = ‘correlation’,
hue = ‘time’, linestyles = ‘’, dodge = .3, data = sample_data)
我将 linestyles 设置为 '' 因为否则它会连接所有点,而不仅仅是配对点。有没有办法用 seaborn 做到这一点?
谢谢!
编辑:我希望它看起来像这样:
(我将 linestyles 设置为 '' 因为否则它会连接所有点,而不仅仅是成对的点。)
【问题讨论】:
-
Seaborn 不知道配对。您至少需要告诉它哪些点与哪些点配对。这是相关的stackoverflow.com/questions/70417004/…
-
您是否要在同一轴上创建两个图,一个连接所有“之前”点,另一个连接所有“之后”点?您是否尝试过运行基本的
plot两次? -
@YuliaV 不完全——我想加入类别中的每一对点(a、b、c 等),而不是加入所有之前和之后的点。我已经编辑了我刚刚手动绘制的我希望能够绘制的线条的帖子。谢谢!!
-
我觉得用 matplotlib 做起来更容易,但不确定
sns.pointplot -
对于每一对,您需要运行类似:
plt.plot(x=[x_before, x_after], y=[y_before, y_after])有关plot的更多信息,请参阅matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html
标签: python pandas matplotlib seaborn