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')
图。1
但是,我想创建一个类似于在 matplotlib 中创建的图,但我无法找到在seaborn中创建它的方法: 图 2
当我尝试sns.catplot(data=data, kind='point', hue='currentuse')
我收到此错误:
hue
ValueError:没有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中创建它,因为它会涉及的代码行数要少得多,这将更有效率。
谢谢你们!
解决方案
推荐阅读
- sas - 如何以以下格式导入 sas 日期时间
- php - 覆盖 Woocommerce 中特定运输类别的所有运输成本
- c# - C# - 控制台应用程序“拖放”崩溃
- python - 仅在 PyCharm 中尝试相对导入超出顶级包消息
- c# - Selenium c#查找元素选择元素异常
- javascript - 试图将对象数组减少为相似但汇总的对象数组
- javascript - GatsbyJs - 为静态网站存储字符串/文本的最佳方式是什么
- javascript - 为 Javascript 二叉搜索树编写递归添加方法
- npm - npm 运行脚本无法编译 sass
- java - 在继续使用脚本之前等待选择下拉值 - Selenium WebDriver