python科研绘图:面积图

目录

1、面积图

2、堆积面积图


1、面积图

面积图是一种数据可视化图表,用于展示数据随时间或其他有序类别的变化趋势。它与折线图相似,但在展示数据变化的同时,面积图还强调了各个数据点之间的累积关系。这种图表通常通过在折线下方填充颜色来表示数据的累积面积,因此得名"面积图"。

主要特点:

线条表示趋势:面积图的主要线条展示数据的趋势,通常是随时间变化的趋势。这条线可以是平滑的曲线,也可以是直线,具体取决于数据的性质和可视化的目的。

填充面积:面积图通过在趋势线下方填充颜色,强调了数据的累积效果。这有助于观察整体的趋势,并突出高峰和低谷的变化。

用途广泛:面积图通常用于展示时间序列数据,例如股票价格随时间的变化、销售额的季节性波动等。它也可用于比较多个类别的累积数据,突出总体趋势和各类别之间的相对贡献。

import matplotlib.pyplot as plt
import numpy as np
# 准备数据
x = np.array([1, 2, 3, 4, 5])
y1 = np.array([10, 5, 50, 10, 45])
# 创建画布和子图对象
fig, ax = plt.subplots()
# 绘制面积图
ax.fill_between(x, y1)
# 设置图表属性
ax.set_title('Area Chart',font={'family':'Arial', 'size':18}, loc='left')
ax.set_xlabel('Time',font={'family':'Arial', 'size':16}, rotation=10)
ax.set_ylabel('Value')
# 设置x轴刻度朝向为向上
ax.tick_params(axis='x', direction='in')
# 设置y轴刻度朝向为向右
ax.tick_params(axis='y', direction='in')
#刻度标签
plt.xticks(fontproperties = 'Times New Roman', size = 18)
plt.yticks(fontproperties = 'Times New Roman', size = 18)
# #刻度线的大小长短粗细
# plt.tick_params(axis="both", which="major", direction="in", width=1, length=5, pad=5)
# #不显示刻度标签
# ax.axes.xaxis.set_ticklabels([])
# ax.axes.yaxis.set_ticklabels([])
# 显示图表
plt.show()
​

2、堆积面积图

堆积面积图是一种统计图表,用于展示多个数据系列在不同类别或时间段中的累积总和,并以堆积的方式呈现。在这种图表中,每个数据系列都以不同的颜色表示,堆积在彼此之上,形成整体的面积。这种图表通常用于比较总体趋势以及每个数据系列在整体中的相对贡献。

例如,如果你有关于销售额的数据,堆积面积图可以展示每个产品类别或每个销售渠道的销售额随时间的累积变化。每个产品类别或销售渠道的面积代表其贡献,而整个堆积面积图则显示总销售额的变化趋势。

这种图表有助于观察不同部分的相对大小和总体趋势,使人更容易理解数据的分布和演变。

import matplotlib.pyplot as plt
x = [2, 3, 4, 5, 6, 7]
y2 = [[4, 5, 2, 1, 1, 0], [1, 24, 5, 3, 2, 1], [9, 8, 7, 5, 4, 1]]
# 创建画布和子图对象
fig, ax = plt.subplots()
# 绘制面积图
plt.stackplot(x, y2, labels=["A1", "A2", "A3"], colors=["green", "blue", "red"], alpha=0.4)
# 设置图表属性
ax.set_title('Area Chart',font={'family':'Arial', 'size':18}, loc='left')
ax.set_xlabel('Time',font={'family':'Arial', 'size':16}, rotation=0)
ax.set_ylabel('Value')
# 设置x轴刻度朝向为向上
ax.tick_params(axis='x', direction='in')
# 设置y轴刻度朝向为向右
ax.tick_params(axis='y', direction='in')
#刻度标签
plt.xticks(fontproperties = 'Times New Roman', size = 18)
plt.yticks(fontproperties = 'Times New Roman', size = 18)
# #刻度线的大小长短粗细
# plt.tick_params(axis="both", which="major", direction="in", width=1, length=5, pad=5)
# #不显示刻度标签
# ax.axes.xaxis.set_ticklabels([])
# ax.axes.yaxis.set_ticklabels([])
# 显示图表
plt.show()
​

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二叉树(进阶)

文章目录 1.内容安排说明2. 二叉搜索树2.1二叉搜索树的概念2.2二叉搜索树的实现2.3二叉树的性能: 搜索二叉树的应用k 模型kv模型 1.内容安排说明 二叉树在前面c数据结构阶段;已经讲过了;本节取名二叉树进阶的原因是: 1.map和set特…

04-学成在线之系统管理服务模块之查询数据字典表中的内容,前后端联调测试

前后端联调 配置前端环境 实际开发中先由后端工程师将接口设计好并编写接口文档并交给前端工程师,前后端的工程师就开始并行开发 前端开发人员先自己mock数据即使用假数据进行开发,当后端代码完成后前端工程师尝试请求后端接口获取数据然后渲染到页面 第一步: 首…

k8s-部署Redis-cluster(TLS)

helm pull bitnami/redis-cluster v8.3.8拉取源码生成证书 git clone https://github.com/redis/redis.git #文档 https://redis.io/docs/management/security/encryption/#getting-started生成你的TLS证书用官网的工具生成 1 Run ./utils/gen-test-certs.sh 生成根CA和服务…

java 工程管理系统源码+项目说明+功能描述+前后端分离 + 二次开发

工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&am…

latex简单使用

​​文章目录 公式详解 普通公式公式居中带标号公式上标下标根号分式括号运算符列表 无序列表有序列表插入图片 单图多图排版表格脚注与定理子标题目录与附录 目录附录参考文献字体设置 字体样式 加粗斜体字母大写等线自定义字体字体大小 第一种设置第二种设置第三种设置 页面…

使用Spring Boot实现大文件断点续传及文件校验

一、简介 随着互联网的快速发展,大文件的传输成为了互联网应用的重要组成部分。然而,由于网络不稳定等因素的影响,大文件的传输经常会出现中断的情况,这时需要重新传输,导致传输效率低下。 为了解决这个问题&#xff…

第四代智能井盖传感器:万宾科技助力城市安全

在繁华喧嚣的城市里人来人往,井盖作为基础设施的一个组成部分在路面上分布范围广。然而这些看似普通的井盖却存在着位移、水浸的风险,可能给我们的生活带来诸多不便,更会威胁到我们的人身安全。如何有效监测和管理井盖的状态,成为…

leetcode刷题日记:160. Intersection of Two Linked Lists(相交链表)

给出两个单链表的头结点headA与headB,让我们找出两个链表相接的起始节点,如果两个链表不存在相交结点返回null。 我们就先假设存在这样两个链表,链表1与链表2,假设链表1的长度为 L 1 L_1 L1​和 L 2 L_2 L2​,假设对于两个链表&am…

MatrixOne完成与欧拉、麒麟信安的兼容互认

近日,超融合异构云原生数据库MatrixOne企业版软件V1.0完成了与欧拉开源操作系统(openEuler简称“欧拉”)、麒麟信安操作系统系列产品和虚拟化平台的相互兼容认证,通过了欧拉兼容性测评,获得了《openEuler技术测评证书》…

JS进阶——作用域、解构、箭头函数

1、作用域 作用域(scope)规定了变量能够被访问的“范围”,离开了这个“范围”变量便不能被访问。 1.1 局部作用域 局部作用域可分为函数作用域和块作用域。 1.1.1 函数作用域 在函数内部声明的变量只能在函数内部被访问,外部无…

Linux C 线程

线程 概述线程和进程的异同如何选择使用进程还是线程 函数获取进程自身ID  pthread_self创建线程  pthread_create退出线程  pthread_exit线程等待  pthread_join 四种线程模型1 )单线程2 )单线程3 )双线程4 )三线程 概述…

【实习】modbus

介绍 详解Modbus通信协议—清晰易懂 Modbus协议是一个master/slave架构的协议。有一个节点是master节点,其他使用Modbus协议参与通信的节点是slave节点。每一个slave设备都有一个唯一的地址。在串行和MB网络中,只有被指定为主节点的节点可以启动一个命令…

探索 AI 算法与链上资产,ForthTech 如何提供稳健交易策略

从传统股票、期货市场发家,ForthTech 如何找到了 AI 赋能下数字资产交易策略与保值增值的技术路径?面对变幻不居的 Web3 行业,如何才能更好地应对市场波动,找到基建设施、资金管理、技术工具的优化方向,给用户更加安全…

QT自定义信号,信号emit,信号参数注册

qt如何自定义信号 使用signals声明返回值是void在需要发送信号的地方使用 emit 信号名字(参数)进行发送 在需要链接的地方使用connect进行链接 ct进行链接

LeetCode - 141. 环形链表 (C语言,快慢指针,配图)

目录 1. 什么是快慢指针 2. 非环形链表 3.代码展示 4.扩展:fast走3步,slow走一步呢? 1. 什么是快慢指针 这里我们我们将介绍环形链表的经典解法——快慢指针,简单理解,指针移动快的叫做快指针fast,移动…

汽车 CAN\CANFD数据记录仪

CAN FD数据记录仪解决汽车电子数据记录与偶发性故障查找问题。 1、脱机离线记录两路CAN/CANFD通道数据 脱机离线记录两路CAN/CANFD通道数据,可记录6个月数据。每个通 道单独设置触发记录模式、触发前预记录报文个数(默认1000帧)及 过滤规则&a…

NetApp E5700 系列混合闪存存储系统,将企业应用程序的性能提升到极致

主要优势 优势1、卓越的性能 • 利用最适合现代企业级应用(例如,大数据分析、技术计算、视频监控以及备份和恢复)的混合系统提高性能、IOPS 和密度。 优势2、无与伦比的价值 • 利用三个不同的磁盘系统架、多种驱动器类型和一套齐备的 SAN …

KT148A语音芯片使用串口uart本控制的完整说明_包含硬件和指令举例

一、功能简介 KT148A肯定是支持串口的,有客户反馈使用一线还是不方便,比如一些大型的系统不适合有延时的操作,所以更加倾向于使用uart控制,这里我们也给出解决方案 延伸出来另外一个版本,KT158A 注意次版本芯片还是…

教育数字化助力打造个性化语言学习环境

2023年,我国教育数字化呈现高速发展态势,网络教育用户规模、在线教育市场规模、数字内容市场规模再创历史新高,数字校园建设普及率、教师数字技术素养等均高于全球平均水平。 在数字技术支撑下,新的语言学习方式也在逐渐普及。 语言学家克拉申(Stephen Kr-ashen)提出的二语习得…

解决Web端请求响应超时HTTP状态码504和110 timed out错误(Nginx配置调整)

前言 在前端开发中,发送请求时,有时会遇到请求响应超时的问题(如 HTTP 状态码504 和 110错误)。这种问题可能是由于网络延迟、服务器响应时间过长或请求数据量过大等原因造成的。为了解决这个问题,我们可以通过配置 N…