pandas Matplotlib:在x轴上绘制所有列,在y轴上绘制值,这些值由第三个变量分组

yhxst69z  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(104)

我的数据看起来像这样:

group    var1    var2    var3
0        0.6    0.001    0.11  
1       -0.36  -0.007   -0.066481

字符串
我想创建一个点图,其中3个不同的变量形成x轴,y轴表示数据框中的值,点的符号/颜色取决于最左边一列的组。
我试着把数据融合成格式

group var  value
0     var1 0.6
1     var1 -0.36
0     var2 0.001
1     var2 -0.007
0     var3 0.11
1     var3 -0.066481


但我只能按变量制作单独的图,而不是一个大的图。任何帮助将不胜感激,谢谢!

5lhxktic

5lhxktic1#

下面是基于两个值绘图的代码,每个组都有特定的颜色:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# Sample data
data = {
    'group': [0, 1],
    'var1': [0.6, -0.36],
    'var2': [0.001, -0.007],
    'var3': [0.11, -0.066481]
}

df = pd.DataFrame(data)

# Reshape the data using melt
df_melted = df.melt(id_vars='group', var_name='variable', value_name='value')

# Create the dot plot using seaborn
sns.set(style="ticks")
sns.stripplot(x='variable', y='value', hue='group', data=df_melted, dodge=True, size=10, palette="Set2")

# Set labels and title
plt.xlabel('Variable')
plt.ylabel('Value')
plt.title('Dot Graph')

# Display the plot
plt.show()

字符串

相关问题