【发布时间】:2021-09-03 02:58:50
【问题描述】:
背景: 我正在研究 python,到目前为止我有很多数据点(以 .CSV 形式)我有什么代码
- 读取 csv 和“结果”列
- 如果“结果”列中的值为正,则代码绘制与其对应的 ABCDEFG 参数,其中 y 轴是参数的值,x 轴是参数的名称。
- 如果此类“结果”的数量超过 10 个,则绘制与结果对应的前 10 个 A B C D E F G 参数。
下面是数据集类型的示例。 (我的包含大约 12000 行)
数据集
A B C D E F G result
1.00 0.85 -0.999 0.27 0.98 0.39 0.80 -0.86
0.89 0.4 -0.6 0.47 0.28 0.29 0.26 0.65
0.65 -1.00 0.26 0.67 -0.88 0.29 0.10 0.50
0.98 -0.98 0.76 0.37 0.68 0.59 0.90 0
0 0.5 0.56 0.27 0.38 0.79 0.48 -0.65
代码:
df = pd.read_csv("result.csv")
df.loc[df.result>0, df.columns[:-1]].T.plot(ls='', marker='o')
问题: 有时如果值相同,点标记在同一位置,因此很难看到频率分布(例如在下面的 B 和 C 列中,虽然它们看起来相似,但一个值有更多的点。
我想要做的是在当前图表上绘制类似于脊图的东西(如下图所示),以便可以看到频率分布。 我是这种数据可视化的新手。请指导我如何做到这一点
【问题讨论】:
-
violin plot 是您想要的吗?
标签: python pandas plot data-visualization data-virtualization