在一个绘图中可视化多个变量

2024-10-02 04:35:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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')Fig1

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

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

我得到这个错误:

ValueError: Cannot use hue without x or y

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

尽管我通过许多步骤成功地创建了绘图:创建摘要统计数据(平均值、标准错误)、每个组的变量子集以及matplotlib中的子绘图,但我想知道是否有办法在seaborn中创建它,因为它将涉及更少的代码行,因此效率更高

谢谢大家!


Tags: 数据绘图datafifaapcosns

热门问题