python直方图y轴显示占比,而不是绝对数值

  统计/机器学习 数据可视化 Python    浏览次数: 4064
3

python里面(pyplot)怎么画直方图可以让y轴显示百分比,而不是绝对的数值统计?

我现在是直接用ply.hist,得到的是长下面这样的

我希望y轴显示的是百分比,比重之类。

谢谢!


 

小菜   2017-06-11 10:37



   1个回答 
5


import matplotlib
from numpy.random import randn
import matplotlib.pyplot as plt
from matplotlib.ticker import FuncFormatter
# 把y轴转化为百分比。
def to_percent(y, position):
    return str(100 * y) + '%'
# 直方图的数据集
x = randn(500)
# 设置直方图分组数量bins=60.
plt.hist(x, bins=60, weights= [1./ len(x)] * len(x))
formatter = FuncFormatter(to_percent)
plt.gca().yaxis.set_major_formatter(formatter)
plt.show()




黄前志   2017-07-19 10:48



  相关主题

matplotlib.pyplot中怎么把legend放到图片外面去?   1回答

python做图自定义背景色   1回答

seaborn如何显示图?   2回答

python里怎么实现柱状图?   1回答

matplotlib如何设置画图格式,使得可视化效果更好   2回答

plt.scatter plot怎么让不同的类别有不同的颜色   2回答

如何调节seaborn里字体大小?   1回答

plt.plot作图,隐藏坐标轴   1回答

用plt.hist画直方图,怎么返回每个bins的上下界和个数?   1回答

plt.subplots作图效果很奇怪,出问题   1回答

用matplotlib.pyplot作图时,调整标题中文字的大小   1回答

matplotlib.pyplot画图怎么添加横轴,纵轴的名字?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!