我想为每个类别绘制一个包含不同子类别的条形图,我的数据框示例是:
G1 A 74
B 16
C 56
D 8
G2 E 63
F 71
G 78
H 115
I 645
因为我的类别有不同的子类别,所以我对所有的解决方案都卡住了,我想从这个 other answer 的 javascript 中得到类似这个图的东西。
感谢您的帮助。
答案 0 :(得分:0)
你需要蟒蛇或类似的东西来绘制它。但是你仍然可以使用这个:
G1[1] = A, 74
G1[2] = B, 16
#ect...
G2[1] = E, 63
然后对于 python 海龟,尝试使用字母的值并将其乘以某个值以使其具有条形。除了这两个技巧,我完全一无所知:)
答案 1 :(得分:0)
如果子类别总是不同,即不能存在元素(A,a)
和(B,a)
,您可以使用seaborn
catplot
例如
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
np.random.seed(42)
df = pd.DataFrame({
'cat1': ['A', 'A', 'A', 'B', 'B'],
'cat2': ['a', 'b', 'c', 'd', 'e'],
'vals': np.random.random(5)
})
并在 x 轴以 cat2
(子类别)和 cat1
(主类别)作为色调与 dodge=False
sns.catplot(
kind='bar',
data=df,
x='cat2', y='vals',
hue='cat1', dodge=False
)
给予