我是靠谱客的博主 诚心宝马,最近开发中收集的这篇文章主要介绍用python画面积图_使用matplotlib创建100%堆积面积图,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

实现这一点的一个简单方法是确保每个x值的y值总和为100。

我假设您将y值组织在一个数组中,如下例所示y = np.array([[17, 19, 5, 16, 22, 20, 9, 31, 39, 8],

[46, 18, 37, 27, 29, 6, 5, 23, 22, 5],

[15, 46, 33, 36, 11, 13, 39, 17, 49, 17]])

要确保列总数为100,必须将y数组除以其列和,然后乘以100。这使得y值的范围从0到100,使得y轴的“单位”百分比。如果您希望y轴的值跨越0到1之间的间隔,请不要乘以100。

即使没有像上面那样在one数组中组织y值,原理也是一样的;每个数组中由y值组成的相应元素(例如y1,y2等)的总和应该是100(或1)。

下面的代码是在他的注释中链接到的example@LogicalKnight的修改版本。import numpy as np

from matplotlib import pyplot as plt

fnx = lambda : np.random.randint(5, 50, 10)

y = np.row_stack((fnx(), fnx(), fnx()))

x = np.arange(10)

# Make new array consisting of fractions of column-totals,

# using .astype(float) to avoid integer division

percent = y / y.sum(axis=0).astype(float) * 100

fig = plt.figure()

ax = fig.add_subplot(111)

ax.stackplot(x, percent)

ax.set_title('100 % stacked area chart')

ax.set_ylabel('Percent (%)')

ax.margins(0, 0) # Set margins to avoid "whitespace"

plt.show()

这将产生如下所示的输出。

wo1sf.png

最后

以上就是诚心宝马为你收集整理的用python画面积图_使用matplotlib创建100%堆积面积图的全部内容,希望文章能够帮你解决用python画面积图_使用matplotlib创建100%堆积面积图所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部