我正在尝试在海上群集图中添加另一个维度,以便用唯一的标记标记来标记额外的维度。我已经在dataframe中的一个列中设置了色调,但我不知道如何添加另一种区分某些信息的方法。图中的每个数据点都有一个相关联的“热量数”,我试图为每个热量数分配一个唯一的标记。
我遇到了这个答案(swarmplot with hue affecting marker beyond color),它与我正在尝试的接近,但我认为我的情况更复杂,因为我试图基于不同的类别分配标记。
以下是我目前为止的代码(数据值不是真实的,但给出了一个示例):
fig, a = plt.subplots(dpi = 150)
c_data = [10,20,30,35, 8]
time_data = [100, 1000, 10000, 4000, 16000]
gs_data = [1.5, 2, 3, 4, 5]
heat_data = [2412, 1421, 1445, 6366, 1131]
df['charpy'] = c_data
df['time'] = time_data
df['Grain Size'] = gs_data
df['Heat'] = heat_data
sns.swarmplot(data = df, x = 'time', y = 'charpy', hue = 'Grain Size', ax = a, size = 8)
在这一点上非常简单,因为我真的不确定我的下一步是什么,我查过的其他例子不能真正适用于我的情况。任何帮助都很感激。
1条答案
按热度按时间ih99xse11#
这是目前不可能的(没有痛苦)与
swarmplot
。但是,如果您使用scatterplot
,则可以使用style
参数添加第二个“类别”。输出:
Seaborn提供了
seaborn.categorical.Beeswarm
类来计算点的偏移。也许你可以问作者如何从散点图中使用它。