如何在 seaborn 的 swarmplot 中设置 x 坐标?
How do I set the x-coordinate in a swarmplot in seaborn?
尝试在 seaborn 中使用 3 个不同的向量绘制群图。我想让每个向量在不同的 x 坐标和不同的颜色。
不幸的是,所有教程都有某种格式的数据,我真的找不到解释/手册...这就是我到目前为止所得到的:
#!/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 轴上。很确定我在这里遗漏了一些非常基本的东西。有人吗?
尝试:
df2 = df.melt()
colors = ["orange", "green", "red"]
sns.swarmplot(data=df2, x = 'variable', y='value', palette =colors)
plt.show()
尝试在 seaborn 中使用 3 个不同的向量绘制群图。我想让每个向量在不同的 x 坐标和不同的颜色。
不幸的是,所有教程都有某种格式的数据,我真的找不到解释/手册...这就是我到目前为止所得到的:
#!/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 轴上。很确定我在这里遗漏了一些非常基本的东西。有人吗?
尝试:
df2 = df.melt()
colors = ["orange", "green", "red"]
sns.swarmplot(data=df2, x = 'variable', y='value', palette =colors)
plt.show()