当前位置: 首页 > news >正文

【bar堆叠图形绘制】

绘制条形图示例

在数据可视化中,条形图是一种常用的图表类型,用于比较不同类别的数据值。Python的matplotlib库为我们提供了方便易用的功能来绘制条形图。

1. 基本条形图

首先,我们展示如何绘制基本的条形图。假设我们有一个包含十个类别的数据集,其中每个类别都有两个相关的数据值。我们使用matplotlib.pyplot库来绘制这个图。

from matplotlib import pyplot as plt
import randomx = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']# 设置 y1 和 y2 数组
y1 = []
y2 = []
for j in range(10):y1.append(random.randint(10, 30))y2.append(random.randint(1, 10))# 绘制条形图并添加图例
plt.bar(range(len(x)), y1, label='y1')
plt.bar(range(len(x)), y2, label='y2', alpha=0.5)# 设置 x、y 轴标签和范围
plt.xlabel('x')
plt.ylabel('y')
plt.xlim(-1, len(x))
plt.ylim(0, max(max(y1), max(y2)) + 5)# 添加 x 轴刻度和轴标签
plt.xticks(range(len(x)), x, rotation=45)# 添加图例
plt.legend()plt.show()

上述代码绘制了一个基本的条形图,其中y1y2分别表示两组数据,对应于每个类别的值。我们使用不同的颜色和透明度来区分这两组数据,并添加了图例以标识不同的数据。

2. 堆叠条形图

接下来,我们展示如何绘制堆叠条形图。假设我们有四组数据,每组数据包含了五个类别的值。我们使用matplotlib.pyplot库来绘制这个图。

import matplotlib.pyplot as plt
import numpy as npdata1 = [20, 30, 40, 50, 60]
data2 = [30, 50, 70, 90, 110]
data3 = [15, 25, 35, 45, 55]
data4 = [22, 33, 44, 55, 66]labels = ['A', 'B', 'C', 'D', 'E']plt.bar(labels, data1, label='Data 1')
plt.bar(labels, data2, label='Data 2', bottom=data1)
plt.bar(labels, data3, label='Data 3', bottom=[sum(x) for x in zip(data1, data2)])
plt.bar(labels, data4, label='Data 4', bottom=[sum(x) for x in zip(data1, data2, data3)])
plt.legend()
plt.show()

上述代码绘制了一个堆叠条形图,其中每组数据通过堆叠的方式展示。我们使用bottom参数来指定每组数据的起始高度,从而实现了数据的堆叠效果。图例展示了每个数据组的标签,方便比较不同类别的值。

http://www.lryc.cn/news/99856.html

相关文章:

  • ORACLE数据库灾难恢复
  • base和正则备份
  • ArcGIS Engine 与 Visual Studio版本对照表
  • JPA连接达梦数据库导致auto-ddl失效问题解决
  • 【MATLAB第60期】【更新中】基于MATLAB的ARMAX具有外生回归因子的移动平均自回归模型
  • Vue 常用指令 v-on 自定义参数,事件修饰符
  • 重要通知|关于JumpServer开源堡垒机V2版本产品生命周期的相关说明
  • 下载快 kaggle output
  • 结构型设计模式-1.代理设计模式
  • Python(四十九)获取列表指定元素的索引
  • 年轻人的第一套海景房
  • Vue输入内容/链接生成二维码
  • 使用langchain与你自己的数据对话(二):向量存储与嵌入
  • No105.精选前端面试题,享受每天的挑战和学习
  • 【计算机网络】第 3 课 - 计算机网络体系结构
  • 精细呵护:如何维护自己的电脑,提升性能和寿命
  • DevOps-Jenkins
  • Jasper裁员,成也GPT,败也GPT
  • 安卓开发后台应用周期循环获取位置信息上报服务器
  • 为什么你的独立站有流量没转化?如何做诊断检查?
  • 【深度学习】【三维重建】windows10环境配置PyTorch3d详细教程
  • 【算法和数据结构】257、LeetCode二叉树的所有路径
  • yolov5的后处理解析
  • Java中注解应用场景
  • verilog
  • 基于springboot+mybatis+vue进销存管理信息系统
  • Keepalived 在CentOS安装
  • Lua语法学习
  • 【Ajax】笔记-jsonp实现原理
  • LLM - Chinese-Llama-2-7b 初体验