我正在尝试使用seaborn来可视化此方法,但无法找到方法。
我的数据框如下:
sns.barplot(x='Vmax',y='Type',hue='Km',data=df,orient='h')
到目前为止我已经尝试过:
WHERE
1我得到的结果:
2我想要的东西(类似这样的东西):
答案 0 :(得分:3)
我认为您需要pandas
中的melt函数。这样,您就可以获取一个变量,该变量指示要作为hue
的{{1}}参数传递的测量类型(Km或Vmax)(您可以查看此paper,以了解有关此内容的更多信息“整洁”数据表示的类型):
seaborn
输出:
但是,这两种测量的规模有很大不同,因此您也可以考虑将它们绘制在两个子图上:
df = pd.DataFrame({"Type": ["W1H", "W1R", "W1X"], "Vmax": [1.1031, 1.9014, 1.0447],
"Km": [34.976545, 200.745433, 20.796225]})
molten = pd.melt(df, id_vars="Type")
# >>> molten
# Type variable value
# 0 W1H Vmax 1.103100
# 1 W1R Vmax 1.901400
# 2 W1X Vmax 1.044700
# 3 W1H Km 34.976545
# 4 W1R Km 200.745433
# 5 W1X Km 20.796225
f, ax = plt.subplots()
sbn.barplot(y="Type", x="value", hue="variable", orient="h", data=molten)