python使用matplotlib的pyplot库进行绘制堆叠直方图

2023-11-12

先上代码:

# 2020/3/27,中国,CN,82213,184,75122,3301,3790
# 2020/3/27,英国,GB,14579,0,150,759,13670
# 2020/3/27,日本,JP,1507,0,359,51,1097
# 2020/3/27,美国,US,86012,0,753,1301,83958
# 2020/3/27,韩国,KR,9332,0,4528,139,4665
# 导入库
import csv
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False
data = pd.read_csv('hjptest4data.csv')
list = data.values.tolist()
# print(data)
# print(list)
# print(list[0])

for i in range(0,5):
   print(i)
   print(list[i])
   print(list[i][0])


x = ['中国','英国','日本','美国','韩国']

confirmed = [0,0,0,0,0]#累计

dead = [0,0,0,0,0]#

cured = [0,0,0,0,0]

current = [0,0,0,0,0]
for i in range(0,5):
    confirmed[i] = list[i][1]
    dead[i] = list[i][4]
    cured[i] = list[i][3]
    current[i] = list[i][5]
    print( confirmed[i] ,
    dead[i] ,
    cured[i] ,
    current[i] )


plt.bar(x, current, align="center", color="r", label="现存确诊人数")

plt.bar(x, dead, align="center", bottom=current, color="g", label="死亡")

for i in range(0, len(current)):

    dead[i] = dead[i] + current[i]

plt.bar(x, cured, align="center", bottom=dead, color="b", label="治疗人数")

plt.xlabel("国家")

plt.ylabel("累计确诊人数")

plt.ylim(1500,87000)

plt.legend()
#plt.savefig(r'hjp1.jpg')
plt.show()

#注意地方就是在设置第三类数据的底部,应该是第一类加第二类作底部:

#plt.bar(x, y2, align="center", bottom=y1, color="#F6C555", label="中立")

数据文档:

结果图:

 这里日本的柱形图看不到是因为数据问题相对来说日本的数量太小了。也不知道收集数据的人有没有搞错,按题目来就是这样了。

这里主要是通过pandas库预处理一下数据,其实就是读取数据,然后通过matplotlib进行图像呈现。而使用Pandas库进行数据可视化时,常用的参数有: 1.kind 可视化图的种类: 'line' : 折线图 (默认) 'bar ' : 柱状图 'barh' : 水平柱状图 'hist' : 直方图 'area' : 面积图 'pie ' : 饼状图 2.figsize 画布尺寸 3.title 标题 4.grid 是否显示格子线条 5.legend 是否显示图例 6.stacked 是否堆积 7.marker 绘图中数据点的类型。

plt.bar(x, cured, align="center", bottom=dead, color="b", label="治疗人数")

需要注意的地方就是好像这里这个bottom=dead这个参数就是你需要确定你到底需要把那个数放下面,那个作为底依次递增上去。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python使用matplotlib的pyplot库进行绘制堆叠直方图 的相关文章

随机推荐

  • 我的世界 红石信号 服务器,我的世界0.13.1红石信号延续方式介绍

    今天搞趣网小编为大家带来我的世界0 13 1红石信号延续方式介绍 下面小编为大家详细讲解我的世界0 13 1红石信号延续方式介绍 希望对大家有所帮助 红石电路的从一个信号源发出的信号是有强度限制的 当电路超过15格的距离后信号就会消失 在制
  • Sqli-labs Less18-22 HTTP 头注入 POST

    本文记录 SQL 注入的学习过程 资料为 SQLi SQLi 博客目录 Less 18 POSt Header injection Uagent field Error vased 测试漏洞 源代码 uname check input PO
  • 协调能力体现在哪些方面

    协调能力主 要表现在以下几个方面 1 熟悉和掌握组织现有的人 财 物等资源状况 及时进行资源合理 调配 2 了解不同人的需求和能力特点 在人员配置上做到优势互补 3 有效调动他人完成任务的积极性 4 成功解决工作过程中出现的棘手冲突或矛盾
  • Matlab中fprintf函数使用

    目录 说明 示例 输出字面文本和数组值 将双精度值输出为整数 将表格数据写入文本文件 获取写入文件的字节数 在命令行窗口中显示超链接 fprintf函数将数据写入文本文件 fprintf fileID formatSpec A1 An fp
  • chatGPT回答字数限制解除-怎么突破chatGPT长度的限制

    ChatGPT如何写作 ChatGPT 是一种基于机器学习的自然语言处理技术 可以自动生成文本 包括段落 文章 新闻 电子邮件 推文等 以下是使用 ChatGPT 进行写作的基本过程 确定写作内容和细节 首先需要 确定要生成的文本内容和相关
  • Qt——QMainWindow不同功能栏基础操作总结

    目录 一 菜单栏 二 工具栏 三 状态栏 四 浮动窗口 铆接部件 五 中心部件 中心控件 一 菜单栏
  • windows系统下通过Easybcd安装Ubuntu系统

    本文以ubuntu 14 04为例 但其它版本 比如16 04等都是可以的 不想用虚拟机了 想要在win7系统下安装个ubuntu系统 实现双系统 于是在网上各种搜索 然后综合各种方法 在自己的电脑上进行安装 用了两种方法 一种是通过软件的
  • Android 虚拟 A/B 详解(七) 升级中用到了哪些标识文件?

    本文为洛奇看世界 guyongqiangx 原创 转载请注明出处 原文链接 https blog csdn net guyongqiangx article details 129098176 Android 虚拟 A B 分区 Andro
  • Cogvideo:通过变压器进行文本到视频的大规模预处理

    经过大规模的变压器在文本 GPT 3 和文本形象 Dall E和Cogview 一代中创建了里程碑 它在视频生成上的应用仍面临许多挑战 潜在的巨大计算成本使从头开始培训无法承受 文本视频数据集的稀缺性和弱相关性阻碍了理解复杂运动语义的模型
  • 局域网 git服务器 虚拟机,GitLab服务器傻瓜式搭建教程

    开始前的准备 需要有一台Linux系统的服务器或虚拟机 QAQ 安装包下载地址 https mirrors tuna tsinghua edu cn gitlab ce 注 本教程无需下载安装包 以下教程为CentOS8环境所搭建 第一步
  • 华为eNSP实现外网访问内网,DHCP,easyIP配置案例

    一 需求分析 1 五个部门独立的网络管理 分别不同的VLAN 2 VLAN网关在SW1上 3 边界路由器R1与SW1通过三层互联 4 R1上配置转换技术实现VLAN10 20 40 50上网 财务部不许上网 5 R1上通过最节省IP地址方式
  • UE客户端开发需要哪些知识

    进行UE客户端开发需要以下知识 C 编程语言 UE客户端使用C 作为主要编程语言 因此需要对C 的语法 STL容器 面向对象编程等有深入的理解 Unreal Engine框架 了解UE框架的各个模块 例如Gameplay Framework
  • 单链表的基本操作-单链表的创建、插入、删除结点等

    序言 本文主要包括 1 单链表的创建 2 创建结点 3 打印结点 4 链表的插入 头插法 5 链表的删除 指定位置删除 适合新手初步认识学习单链表的基本操作 各个操作都在一起 也有注释 欢迎大家留言讨论 一 代码 include
  • 动态网站开发02:Java web

    动态网站开发02 一 前言 二 笔记 一 XML基础 1 XML概述 2 XML与HTML的比较 二 XML语法 1 XML文档的声明 2 XML元素的定义 3 XML属性的定义 4 XML注释的定义 5 XML文件示例 三 DTD约束 1
  • 爆肝近3万字解读:程序员必须掌握哪些算法?(含算法的代码实现)

    一个程序员一生中可能会邂逅各种各样的算法 但总有那么几种 是作为一个程序员一定会遇见且大概率需要掌握的算法 今天就来聊聊这些十分重要的 必抓 算法吧 一 引言 1 1 算法的重要性 算法的重要性体现在以下几个方面 解决问题 算法是解决问题的
  • 渗透测试工具备忘单

    https highon coffee blog penetration testing tools cheat sheet
  • @FeignClient使用详细教程(图解)

    FeignClient使用详细教程图解 作用 FeignClient标签的常用属性 使用流程 通俗解释可以把它当成一个spring Bean 可以直接当成一个Service 给 FeignClient 添加Header信息 作用 Feign
  • O2O B2B B2C C2C P2P 名词解释

    O2O O2O 是Online To Offline的缩写即在线离线 线上到线下 是指将线下的商务机会与互联网结合 让互联网成为线下交易的平台 这个概念最早来源于美国 O2O的概念非常广泛 既可涉及到线上 又可涉及到线下 可以通称为O2O
  • go time包

    定时器 在time包中有两个函数可以帮助我们初始化time Timer time Newtimer函数 初始化一个到期时间据此时的间隔为3小时30分的定时器 t time Newtimer 3 time Hour 30 time Minut
  • python使用matplotlib的pyplot库进行绘制堆叠直方图

    先上代码 2020 3 27 中国 CN 82213 184 75122 3301 3790 2020 3 27 英国 GB 14579 0 150 759 13670 2020 3 27 日本 JP 1507 0 359 51 1097