如何绘制分类数据并通过颜色和形状大小对其进行编码?

数据挖掘 可视化 熊猫 绘图
2022-03-09 06:49:14

给定以下数据集:

样本数据集

我想知道什么样的绘图技术可以用来产生这样的可视化: 所需的数据集可视化

Skill属性映射到 y 轴,而Participant位于 x 轴上。其他两个属性被编码为可视化中每个点的颜色和大小特征。

尽管我正在尝试使用Pandasand来完成此操作pdvega,但我很乐意学习另一种可以渲染它的工具。但最重要的是,我想知道用于描述这种可视化类型的正确技术术语。

我查看了各种 Pandas 教程,但问题是提供的示例针对的是数字数据,而不是类别。我在想,也许我可以通过将每个类别变成一个数字来部分伪造它,然后以某种方式覆盖轴上的标签——但这听起来像是一个普通问题的复杂解决方案,所以应该有一个更好的方法来做到这一点.

以下是可用于使用上述数据生成 Pandas 数据框的原始数据:

import pandas as pd
raw = {"Age":{"0":"27..35","1":"18..26","2":"18..26","3":"18..26","4":"18..26"},
       "Skill":{"0":"intermediate","1":"expert","2":"novice","3":"intermediate","4":"expert"},
       "Gender":{"0":"M","1":"M","2":"F","3":"F","4":"M"}}
df = pd.DataFrame(raw)
1个回答

我找到的最简单的解决方案是Altair

import altair as alt

# assume df contains the DataFrame from the question + a numeric column `Participant`
alt.Chart(df).mark_point().encode(y='Skill', x='Participant', size='Age', color='Gender')

这是开箱即用的渲染:

使用默认设置生成的图像