【论文复刻】堆叠柱状图+饼图

复刻了一下这篇论文里的fig2c:Impacts of COVID-19 and fiscal stimuli on global emissions and the Paris Agreement | Nature Climate Change

效果图:

主要步骤:

1. 数据准备:随机赋值

2. 图像绘制:绘制堆叠柱状图+饼状图

详细代码:着急的直接拖到最后有完整代码

步骤一:导入库包及图片存储路径并设置中文字体为宋体,西文为新罗马(没有的库包要先下好奥)

# 导入库及文件
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rcParams
# 设置西文字体为新罗马字体,中文宋体
config = {"font.family": 'serif',"font.size": 12,"mathtext.fontset": 'stix',"font.serif": ['SimSun'],}
rcParams.update(config)
rcParams['axes.unicode_minus']=False

步骤二:赋值数据

############################################################
figpath = r'H:/00.csdn/02fig/'
# 赋值数值
a = np.array([[40, 57, 84, 32, 45, 45],[41, 75, 65, 84, 52, 63], [46, 63, 45, 63, 24, 74], [16, 42, 35, 45, 52, 63], [14, 45, 46, 63, 45, 63]])
x = np.arange(1, 6, 1)month = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN',]
year = ['2021', '2022', '2023', '2024', '2025']colors = plt.get_cmap('tab20')(range(6))

步骤三:绘制堆叠柱状图


###############################################################################
width = 0.6
fig1 = plt.figure(figsize=(15, 8))# 绘制堆叠柱状图
ax1 = fig1.add_axes([0.1, 0.25, 0.6, 0.4]) # 设置柱状图位置
sum0 = 0
for i in range(0, len(month), 1):ax1.bar(x, a[:, i], width, align='center', label=month[i], color=colors[i], bottom=sum0)sum0 += a[:, i]

步骤四:设置图中信息及图例

# 设置图中信息
# xlim,ylim:设置x轴y轴显示得最大最小值
# xticks,yticks: 设置坐标轴刻度,可控制隔几个标注,本图为两个一标
# xticklabels,yticklabels:设置坐标轴刻度名称,维度要和xticks,yticks一致奥
# xlabel,ylabel:坐标轴名称
# title:图名
ax1.set(xlim=(0.5, 6), xticks=range(1, 6, 1), xticklabels=year, xlabel = 'x轴',ylim=(0, 400), yticks=range(0, 401, 100), yticklabels=range(0, 401, 100), ylabel = 'y轴',title='图名')# 添加图例
ax1.legend(frameon=False)

步骤五:绘制饼图

###############################################################################
# 绘制饼图
ax2 = fig1.add_axes([0.054, 0.01, 0.2, 0.2])# 设置饼图位置
ax2.pie(a[0,:], colors=colors, autopct="%1.1f%%", textprops={'size':10, 'color':'k'})# 绘制饼图
ax3 = fig1.add_axes([0.163, 0.01, 0.2, 0.2])
ax3.pie(a[1,:], colors=colors, autopct="%1.1f%%", textprops={'size':10, 'color':'k'})
ax4 = fig1.add_axes([0.272, 0.01, 0.2, 0.2])
ax4.pie(a[2,:], colors=colors, autopct="%1.1f%%", textprops={'size':10, 'color':'k'})
ax5 = fig1.add_axes([0.381, 0.01, 0.2, 0.2])
ax5.pie(a[3,:], colors=colors, autopct="%1.1f%%", textprops={'size':10, 'color':'k'})
ax6 = fig1.add_axes([0.491, 0.01, 0.2, 0.2])
ax6.pie(a[4,:], colors=colors, autopct="%1.1f%%", textprops={'size':10, 'color':'k'})

 步骤六:保存图像

#保存图像
plt.savefig(figpath+'304 COVID-19 Fig2', dpi=600, bbox_inches = 'tight')
plt.show()

完整代码在这里:

# 导入库及文件
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rcParams
# 设置西文字体为新罗马字体,中文宋体
config = {"font.family": 'serif',"font.size": 12,"mathtext.fontset": 'stix',"font.serif": ['SimSun'],}
rcParams.update(config)
rcParams['axes.unicode_minus']=False
############################################################
figpath = r'H:/00.csdn/02fig/'
# 赋值数值
a = np.array([[40, 57, 84, 32, 45, 45],[41, 75, 65, 84, 52, 63], [46, 63, 45, 63, 24, 74], [16, 42, 35, 45, 52, 63], [14, 45, 46, 63, 45, 63]])
x = np.arange(1, 6, 1)month = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN',]
year = ['2021', '2022', '2023', '2024', '2025']colors = plt.get_cmap('tab20')(range(6))###############################################################################
width = 0.6
fig1 = plt.figure(figsize=(15, 8))# 绘制堆叠柱状图
ax1 = fig1.add_axes([0.1, 0.25, 0.6, 0.4]) # 设置柱状图位置
sum0 = 0
for i in range(0, len(month), 1):ax1.bar(x, a[:, i], width, align='center', label=month[i], color=colors[i], bottom=sum0)sum0 += a[:, i]# 设置图中信息
# xlim,ylim:设置x轴y轴显示得最大最小值
# xticks,yticks: 设置坐标轴刻度,可控制隔几个标注,本图为两个一标
# xticklabels,yticklabels:设置坐标轴刻度名称,维度要和xticks,yticks一致奥
# xlabel,ylabel:坐标轴名称
# title:图名
ax1.set(xlim=(0.5, 6), xticks=range(1, 6, 1), xticklabels=year, xlabel = 'x轴',ylim=(0, 400), yticks=range(0, 401, 100), yticklabels=range(0, 401, 100), ylabel = 'y轴',title='图名')# 添加图例
ax1.legend(frameon=False)
###############################################################################
# 绘制饼图
ax2 = fig1.add_axes([0.054, 0.01, 0.2, 0.2])# 设置饼图位置
ax2.pie(a[0,:], colors=colors, autopct="%1.1f%%", textprops={'size':10, 'color':'k'})# 绘制饼图
ax3 = fig1.add_axes([0.163, 0.01, 0.2, 0.2])
ax3.pie(a[1,:], colors=colors, autopct="%1.1f%%", textprops={'size':10, 'color':'k'})
ax4 = fig1.add_axes([0.272, 0.01, 0.2, 0.2])
ax4.pie(a[2,:], colors=colors, autopct="%1.1f%%", textprops={'size':10, 'color':'k'})
ax5 = fig1.add_axes([0.381, 0.01, 0.2, 0.2])
ax5.pie(a[3,:], colors=colors, autopct="%1.1f%%", textprops={'size':10, 'color':'k'})
ax6 = fig1.add_axes([0.491, 0.01, 0.2, 0.2])
ax6.pie(a[4,:], colors=colors, autopct="%1.1f%%", textprops={'size':10, 'color':'k'})
###############################################################################
#保存图像
plt.savefig(figpath+'304 COVID-19 Fig2', dpi=600, bbox_inches = 'tight')
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/837262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】可变参数模板简单介绍

前言 可变参数模板是C11中的新特性,它能够让我们创建可以接收可变参数的函数模板和类模板,相比C98/03,类模版和函数模版中只能含固定数量的模版参数,可变模版参数是一个巨大的改进,通过系统系统推演数据的类型&#xf…

Python笔记-Alchemy中改变表的模式(库schema)

现在是2024-01-10,发到互联网上应该是2024-05-13。查了下chatgpt,麻了,乱七八糟的。 最后还是靠stackoverflow解决的,目前,从解决问题的角度来看,这个还是牛逼点。 原文如下: python - How d…

Ansible常用变量【下】

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 前言 在上一篇文章《Ansible常用变量【上】》中,学习了Ansible常用变量的前半部分,放了个五一假&#x…

部署的脚本

文章目录 部署脚本2024心得优秀博客 部署脚本2024 心得 脚本部署,可以帮你大大的提高工作效率。脚本也被称为自动化办公。自己写的博客要么是太简单,要么是写的不好,总之是狗屎,所以不要自己写博客。多收集和整理一些不错的博客…

拼多多流量推广和点击哪个好?拼多多自然流量规则

流量推广是通过付费广告来增加商品的曝光量,而点击推广则是通过付费广告来增加商品的点击量。那么,对于商家来说,哪种推广方式更好呢? 一、拼多多流量推广和点击哪个好 流量推广:流量推广的优势在于能够快速提高商品的曝光量&a…

买货查窜货过程中的可能情况

控价除了要管控渠道中的低价、乱价链接外,还可能需要解决窜货问题,当窜货问题蔓延不及时解决时,渠道会越来越受影响,所以治理窜货也是控价过程中很重要的一步,窜货问题的治理多通过买货溯源来解决,买货要先…

Python多线程加速-休眠部分线程

总所周知Python由于GIL的问题,使用多线程时同一时刻只有一个线程在工作。故Python会在所有线程之间不断的切换,每切换到一个线程会执行一段字节码指令然后切换到另一个线程。如果开启了很多线程,且只有小部分线程在工作,如果不休眠…

Next.js与SSR:构建高性能服务器渲染应用

1. 创建项目 通过create-next-app脚手架创建一个新的Next.js项目: npx create-next-app my-app cd my-app2. 自动SSR 在Next.js中,每个.js或.jsx文件的组件都会被自动处理为SSR页面。例如,创建一个pages/index.js文件: // pag…

SOCKS5代理、代理IP、HTTP与网络安全

在当前网络环境中,数据安全和隐私保护是企业和个人面临的主要挑战之一。网络代理技术,如SOCKS5代理、代理IP和HTTP代理,成为了保护网络活动的关键工具。这篇文章将深入探讨这些代理技术的工作原理、它们在网络安全中的作用,以及如…

点云分割论文阅读01--FusionVision

FusionVision: A Comprehensive Approach of 3D Object Reconstruction and Segmentation from RGB-D Cameras Using YOLO and Fast Segment Anything FusionVision:使用 YOLO 和 Fast Segment Anything 从 RGB-D 相机重建和分割 3D 对象的综合方法 toread&#x…

拥有一台服务器可以做哪些有趣又实用的事情?

在接触云服务器这个概念你以前,你是不是在想: 可能是,云服务器,这个产品的存在,它可以为你做些什么实用的事情吗? 或者是,云服务器这个看似高大上的科技产品,其实可以为我们的生活…

JVM 自定义类加载器

文章目录 1. 为什么要自定义类加载器1.1 隔离加载类1.2 修改类加载的方式1.3 扩展加载源1.4 防止源码泄漏 2. 自定义类加载器应用场景有哪些3. 两种实现方式 自定义类加载器是Java中的一个高级特性,允许您在运行时动态加载类。通过自定义类加载器,您可以…

论文翻译及部分笔记:LANDMARC: Indoor Location Sensing Using Active RFID

LANDMARC: Indoor Location Sensing Using Active RFID 摘要 移动计算设备和嵌入式技术的日益融合引发了“上下文感知”应用的发展和部署,其中位置是最重要的上下文。在本文中,我们介绍了一种名为LANDMARC的定位感知原型系统,该系统使用射频识…

在云计算与人工智能中,7ECloud扮演着什么样的角色

数据驱动的时代,云计算和人工智能已成为推动现代科技进步的两大引擎。作为一家专注于云计算的公司,7ECloud正是在这个领域发挥自己的力量,力图为企业提供一站式解决方案,并拥有来自厂家的源头支持,用极其低的价格助力企…

QT day5 作业

服务器头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> //服务器类 #include <QTcpSocket> //客户端类 #include <QList> //链表类 #include <QMessageBox> //消息对话框类 #include <QDebu…

vscode无法连接 , .vscode-server版本问题

vscode无法连接 &#xff0c; .vscode-server版本问题 解决办法 &#xff1a; 查看自己的版本号 2. 两边vscode版本号需要一致 找一台vscode可以远程连接的&#xff0c; 将它的.vscode-server/bin/b06ae3b2d2dbfe28bca3134cc6be65935cdfea6a 传到 远程服务器上 或者 本地的…

VTK 数据类型:vtkUnstructuredGrid

VTK 数据类型&#xff1a;vtkUnstructuredGrid VTK 数据类型&#xff1a;vtkUnstructuredGridVTK 中数据类型的继承关系常用的几何类型实例&#xff1a;vtkHexahedron 和 vtkTetra VTK 数据类型&#xff1a;vtkUnstructuredGrid 非结构化点是在空间中离散随意分布的点&#xf…

AI去除神器安卓手机版软件下载,一键擦除效果好Android稀缺资源

最新AI美体安卓应用&#xff0c;解锁惊喜功能&#xff01; 随着科技的不断进步&#xff0c;人工智能技术已经在各个领域展现出惊人的应用潜力。今天&#xff0c;我们将向您介绍一款最新的AI美体安卓应用&#xff0c;让您体验全新的视觉魅力&#xff01; ### 精彩功能一览 这…

绘图软件 excalidraw 部署流程 [ Ubuntu 22.4已验证 ]

文章目录 前置一、修改DNS二、添加docker 镜像三、pull excalidraw/excalidraw四、启动一个docker五、访问简介:这篇文章介绍的是一份开源的绘图软件的部署过程 前置 安装docker:Ubuntu 系统,Docker 安装步骤 [Ubuntu 22.4已验证] 其他系统请自行安装. 一、修改DNS sudo…

【数据可视化01】matplotlib实例介绍2

目录 一、引言二、实例介绍1.箱线图2.热力图3.3D图 一、引言 接着上一文章【数据可视化01】matplotlib实例介绍1继续介绍matplotlib的实例。 二、实例介绍 在matplotlib中&#xff0c;常用的图形类型包括&#xff1a; 箱线图&#xff08;Box plot&#xff09;&#xff1a;用…