首页 > 编程语言 >Python——作图

Python——作图

时间:2023-12-17 21:24:57浏览次数:43  
标签:set bar Python 作图 柱状图 np ax array

Python——作图

百分比堆积柱状图

百分比堆积柱状图

import matplotlib.pyplot as plt
import numpy as np

# 定义数据
categories = ['Cat A', 'Cat B', 'Cat C']
values1 = [20, 30, 15]
values2 = [10, 25, 20]
values3 = [5, 10, 15]

# 将数据转化为相对百分比
total = np.array(values1) + np.array(values2) + np.array(values3)
percent1 = (np.array(values1) / total) * 100
percent2 = (np.array(values2) / total) * 100
percent3 = (np.array(values3) / total) * 100

# 绘制堆积柱状图
fig, ax = plt.subplots()
bar_width = 0.35
index = np.arange(len(categories))

ax.bar(index, percent1, bar_width, label='Value 1')
ax.bar(index, percent2, bar_width, bottom=percent1, label='Value 2')
ax.bar(index, percent3, bar_width, bottom=percent1 + percent2, label='Value 3')

# 添加标签和标题
ax.set_xlabel('Categories')
ax.set_ylabel('Percentage')
ax.set_title('Stacked Percentage Bar Chart Example')
ax.set_xticks(index)
ax.set_xticklabels(categories)
ax.legend()

# 显示图表
plt.show()

我们将每个值转换为相对百分比,以便在堆积柱状图中使用。接下来,我们使用matplotlibbar 函数绘制了堆积柱状图,并使用 bottom 参数来进行堆积。

百分比柱状堆积图原理上是多个柱状图的堆积, 而bottom参数就是用于改变基准高度的。因此在绘图之前要将数据转换为总体百分比,确保柱状图堆积后高度是一致的。

标签:set,bar,Python,作图,柱状图,np,ax,array
From: https://www.cnblogs.com/Tatsukyou/p/17909856.html

相关文章

  • Python: Random
     #encoding:utf-8#版权所有2023涂聚文有限公司#许可信息查看:#描述:https://docs.python.org/3/library/string.html#Author:geovindu,GeovinDu涂聚文.#IDE:PyCharm2023.1python3.11#Datetime:2023/12/1718:16#User:geovindu#P......
  • python常用内置模块(持续更新中)
    random模块相关方法需要掌握的,未提及的建议自行了解importrandom大于0且小于1之间的小数(不含1)random.random()#0.38916016381720087指定区间指定start到end(不含end)之间的随机小数random.uniform(0,10)#8.080921224222864指定区间指定start到end(含end)之......
  • Python模块与包
    【一】模块的介绍【1】什么是模块在Python中,一个py文件就是一个模块,文件名为xxx.py模块名则是xxx,导入模块可以引用模块中已经写好的功能。如果把开发程序比喻成制造一台电脑编写模块就像是在制造电脑的零部件准备好零部件后,剩下的工作就是按照逻辑把它们组装到一起。将......
  • Python迭代器和生成器
    【一】迭代器介绍迭代器即用来迭代取值的工具,而迭代是重复反馈过程的活动其目的通常是为了逼近所需的目标或结果,每一次对过程的重复称为一次“迭代”而每一次迭代得到的结果会作为下一次迭代的初始值,单纯的重复并不是迭代whileTrue:msg=input(">>:").strip()......
  • python 浮点数 round 舍一法 向零取整 df 数组 Series 三种数据类型实现
    介绍:python的round函数,默认进行四舍五入,我需要将3.45保留一位小数,3.4 一、一般格式使用Python的内置函数 math.floor() 来向下取整到指定的小数位数。例如,如果你想保留小数点后一位并向下取整,可以这样做:importmathnum=3.45rounded_num=math.floor(num*10)/......
  • Python算法——二叉树遍历
    Python中的二叉树遍历算法详解二叉树是一种常见的树状数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。遍历二叉树是访问树的所有节点并按照特定顺序输出它们的过程。在本文中,我们将讨论二叉树的三种主要遍历算法:前序遍历、中序遍历和后序遍历,并提供相应的Python代码......
  • 【python常用模块之time时间模块】---时间模块(time/datetime)
    title:【python常用模块之time时间模块】---时间模块(time/datetime)date:2023-12-1716:54:06updated:2023-12-1717:00:00description:【python常用模块之time时间模块】---时间模块(time/datetime)cover:https://home.cnblogs.com/u/dream-ze/【一】时间模......
  • 【python入门之OS模块介绍】---OS模块介绍
    title:【python入门之OS模块介绍】---OS模块介绍date:2023-12-1615:54:06updated:2023-12-1616:20:00description:【python入门之OS模块介绍】---OS模块介绍cover:https://home.cnblogs.com/u/dream-ze/【一】OS模块的介绍os模块是Python编程语言中......
  • python之tkinter的鼠标样式
    tkinter的Label、Button、Enter等等cursor都可以使用表中特性改变鼠标样式。取值样式备注arrow based_arrow_down based_arrow_up boat bogosity bottom_left_corner bottom_right_corner bottom_side bottom_tee box_spiral center_ptr circle clock coffee_mug cro......
  • 【python扩展之软件开发目录规范】---软件开发目录规范
    title:【python扩展之软件开发目录规范】---软件开发目录规范date:2023-12-1618:54:06updated:2023-12-1619:20:00description:【python扩展之软件开发目录规范】---软件开发目录规范cover: https://blog.csdn.net/DiligentGG/article/details/125784751......