首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在seaborn中设置swarmplot中的x坐标?

如何在seaborn中设置swarmplot中的x坐标?
EN

Stack Overflow用户
提问于 2019-03-20 01:23:32
回答 1查看 450关注 0票数 0

试着在海上用3个不同的矢量来做一个群组图。我希望每个矢量都有不同的x坐标和不同的颜色。

不幸的是,所有的教程都有某种格式的数据,我真的找不到一个解释/手册来解释……这是我到目前为止所得到的:

代码语言:javascript
复制
#!/usr/bin/env python3
import numpy as np
import matplotlib.pyplot as plt
import seaborn
import pandas as pd

# Create figure
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_ylabel('Evaluations')

colors = [
    'tab:orange',
    'tab:green',
    'tab:red',
]

labels = [
    'Method 2',
    'Method 3',
    'Method 4',
]

data = [
    [1, 2.1, 3.2, 4.5, 3.6, 2.7, 1.4],
    [2.2, 4.7, 5.1, 4.4, 3.8, 5, 3.4],
    [8.4, 7.2, 6.1, 5.4, 8.1, 7.4, 6.8],
]
data = np.array(data).T

df = pd.DataFrame(data, columns=labels)

seaborn.swarmplot(data=df, y='Method 2', color=colors[0])
seaborn.swarmplot(data=df, y='Method 3', color=colors[1])
seaborn.swarmplot(data=df, y='Method 4', color=colors[2])

plt.show()

这几乎是可行的,但将所有内容绘制在同一个轴上:

另外,标签应该在x轴上,而不是y轴上。我很确定我在这里遗漏了一些非常基本的东西。有没有人?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-20 01:37:46

尝试:

代码语言:javascript
复制
df2 = df.melt()

colors = ["orange", "green", "red"]
sns.swarmplot(data=df2, x = 'variable', y='value', palette =colors)
plt.show()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55246739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档