下面的代码显示了我的列表中包含值数字的图表:
import seaborn as sns
sns.countplot([0,1,2,3,1,2,1,3,2,1,2,1,3])
plt.show()
我想用百分比代替相同的情节。 seaborn或matplotlib有一个简单的选择吗?
答案 0 :(得分:3)
如图here所示,使用seaborn barplot可以很容易地实现显示标准化值的计数图。
import matplotlib.pyplot as plt
import seaborn as sns
x = [0,1,2,3,1,2,1,3,2,1,2,1,3]
percentage = lambda i: len(i) / float(len(x)) * 100
ax = sns.barplot(x=x, y=x, estimator=percentage)
ax.set(ylabel="Percent")
plt.show()
或者,使用熊猫,
import matplotlib.pyplot as plt
import pandas as pd
x = [0,1,2,3,1,2,1,3,2,1,2,1,3]
ax = (pd.Series(x).value_counts(normalize=True, sort=False)*100).plot.bar()
ax.set(ylabel="Percent")
plt.show()