首页 > 解决方案 > 在一个图中可视化多个变量

问题描述

我在 python 方面相当新,我一直在尝试生成一些情节。我有以下数据。

data = {'FA':[38,27],'NV':[8,2],'PA':[20.4,12.6],'DY':[5.9,6.9],'SL':[30.6,20.6],'AP':[16.6,2],'CO':[9,15.9],'DI':[5.9,12.5],'FI':[15.6,32], 'currentuse':[0,1]}

data = pd.DataFrame(data, columns = ['FA','NV','PA','DY','SL','AP','CO','DI','FI','currentuse'])

`data.head()`

   FA    NV  PA   DY      SL      AP    CO    DI    FI  currentuse
0   38   8  20.4  5.9   30.6    16.6  9.0   5.9    15.6    0
1   27   2  12.6  6.9   20.6    2.0  15.9   12.5   32.0    1

这是具有更多变量的更大数据集的子集。上面数据中的每一列是来自较大人群的某个分数的平均值,该列currentuse是药物的使用情况(0:否,1:是)。实际上,我有每个科目的分数(大约 150 个科目),但我在这里展示的是小组的意思。

有了这个,我创建了以下情节:

sns.catplot(data=data, kind='point') 图。1

但是,我想创建一个类似于在 matplotlib 中创建的图,但我无法找到在seaborn中创建它的方法: 图 2

当我尝试sns.catplot(data=data, kind='point', hue='currentuse')

我收到此错误:

hueValueError:没有x或不能使用y

我明白,因为我在“数据集”而不是变量 X 或 Y 上运行绘图。然后我尝试但在seabornsns.catplot(data=main_df, x=['FA','NV','PA','DY','SL','AP','CO','DI','FI'], kind='point', hue='currentuse')中不允许提供变量列表。

虽然,我通过执行很多步骤成功地创建了图:创建汇总统计(均值、标准误差)、每组变量的子集和 matplotlib 中的子图,但我想知道是否有一种方法可以在seaborn中创建它,因为它会涉及的代码行数要少得多,这将更有效率。

谢谢你们!

标签: pythonmatplotlibplotseaborn

解决方案


推荐阅读