python科研作图

news2024/9/25 9:41:09

1、气泡图

气泡图是一种在xy轴上显示三个维度的数据的有效方式。在气泡图中,基本上,每个气泡代表一个数据点。横坐标和纵坐标的位置代表两个维度,气泡的大小则代表第三个维度。

在这个例子中,我们用numpy库生成了一些随机数据,然后用matplotlib库的scatter函数创建了一个气泡图。在scatter函数中,参数x, y分别代表数据点的x和y坐标,参数s代表数据点(即气泡)的大小。

import matplotlib.pyplot as plt
import numpy as np
​
# 随机生成数据
np.random.seed(0)
x = np.random.rand(25)
​
y = np.random.rand(25)
z = np.random.rand(25) * 1000  # 这将决定气泡的大小
​
# 创建气泡图
plt.scatter(x, y, s=z)
​
# 添加图形的标题和x,y轴的标签
plt.title('bubble')
plt.xlabel('X')
plt.ylabel('Y')
​
# 显示图形
plt.show()

2、影响图

影响图(Influence Diagram)是一种用于展示变量之间因果关系的图形化工具。在Python中,可以使用NetworkX和Matplotlib等库来绘制影响图。

import matplotlib.pyplot as plt
import networkx as nx
​
# 创建一个有向图
G = nx.DiGraph()
​
# 添加节点
G.add_node("X")
G.add_node("Y")
G.add_node("Z")
​
# 添加边
G.add_edge("X", "Y")
G.add_edge("Y", "Z")
G.add_edge("X", "Z")
​
# 绘制图形
pos = nx.spring_layout(G)
nx.draw(G, pos, with_labels=True)
plt.show()

3、条形图

条形图(Bar chart)是一种以条形为主要表现形式的图形化数据可视化工具。它通过将数据值转换为条形的长度或高度来展示数据,以便直观地比较和解读不同类别的数据。条形图常用于展示两个或多个类别的数据集之间的相对大小、频次或百分比等。

条形图的基本构成包括横轴和纵轴。横轴通常代表分类或类别,纵轴则代表数值或定量数据。根据数据的类型和可视化需求,可以选择使用垂直条形图或水平条形图。在垂直条形图中,条形的长度与数据值成正比;而在水平条形图中,条形的宽度与数据值成正比。

条形图具有多种变体和表现形式,例如单轴条形图、双轴条形图、分组条形图、堆叠条形图等。通过不同的颜色、标记、标签和其他可视化元素可以增加条形图的易读性和清晰度。条形图广泛应用于数据可视化、商业报告、统计分析和决策支持等领域。

import matplotlib.pyplot as plt
​
# 数据
categories = ['Category1', 'Category2', 'Category3', 'Category4', 'Category5']
values = [5, 8, 3, 6, 4]
​
# 创建条形图
plt.bar(categories, values)
​
# 添加标题和轴标签
plt.title('Simple Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')
​
# 显示图表
plt.show()

4、箱线图

箱线图(Box Plot)是一种用于展示一组数据分散情况资料的统计图。包含一组数据的最大值、最小值、中位数、及上下四分位数。因此,箱线图可以提供关于数据分布的有用信息。

以下是一些箱线图的基本构成:

箱体:包含了所有数据的整体范围,也被称为“箱”。

中位数:标示出数据的“中点”。在箱线图中,中位数通常会有一条线直接连到箱体,且与箱体的中心对齐。

四分位数:标示出数据的“四分位数”,也就是将数据分为四个等份的四条线。在箱线图中,四分位数通常以“+”符号表示,且与箱体的上下边缘对齐。

须”的长度:箱线图中的“须”是两个方向向外延伸的线段,从四分位数的位置向两侧延伸。须的长度不会超过箱体的长度。

“异常值”:如果数据集中存在极端的或异常的数据点,它们会被单独标示出来,通常会以小圆圈或者是其他特殊的标记来表示。

通过观察箱线图,你可以快速了解这组数据的集中趋势、离散程度以及异常值。

import matplotlib.pyplot as plt  
import numpy as np  
  
# 创建数据  
np.random.seed(10)  
data = np.random.normal(100, 20, 100)  
  
# 绘制箱线图  
plt.boxplot(data)  
  
# 设置图表标题和轴标签  
plt.title('Box Plot')  
plt.xlabel('Data')  
plt.ylabel('Value')  
  
# 显示图表  
plt.show()

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
​
# 创建数据
np.random.seed(10)
data = np.random.normal(100, 20, 100)
​
# 绘制箱线图
sns.boxplot(x=data)
​
# 设置图表标题和轴标签
plt.title('Box Plot')
plt.xlabel('Data')
plt.ylabel('Value')
​
# 显示图表
plt.show()

5、核密度图

核密度图(Kernel Density Estimate,KDE)是一种用于估计随机变量概率密度函数的非参数方法。在 Python 中,可以使用多种库来绘制核密度图,其中包括 Seaborn、Matplotlib 和 SciPy。

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
​
# 生成示例数据
data = np.random.normal(size=100)
​
# 使用 Seaborn 绘制核密度图
sns.kdeplot(data, label='KDE')
​
# 显示图形
plt.legend()
plt.show()

import matplotlib.pyplot as plt
import numpy as np
​
# 生成示例数据
data = np.random.normal(size=100)
​
# 使用 Matplotlib 绘制核密度图
plt.hist(data, density=True, alpha=0.5, label='KDE')
​
# 显示图形
plt.legend()
plt.show()

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gaussian_kde
​
# 生成示例数据
data = np.random.normal(size=100)
​
# 使用 SciPy 计算核密度估计
kde = gaussian_kde(data)
x_range = np.linspace(min(data) - 1, max(data) + 1, 1000)
kde_values = kde(x_range)
​
# 使用 Matplotlib 绘制核密度图
plt.plot(x_range, kde_values, label='KDE')
​
# 显示图形
plt.legend()
plt.show()

6、小提琴图

小提琴图(Violin plot)是一种用于显示数据分布情况的图形。它类似于箱线图,但提供了更多的信息,如数据的核密度估计和四分位数。在Python中,可以使用Seaborn库来绘制小提琴图。

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
​
# 生成一些随机数据
rs = np.random.RandomState(0)
n, p = 40, 8
d = rs.normal(0, 2, (n, p))
d += np.log(np.arange(1, p + 1)) * -5 + 10
​
# 绘制小提琴图
sns.violinplot(data=d)
​
# 显示图形
plt.show()

7、热图

热图是一种可视化工具,用于展示二维数据集中的数据信息,其中颜色表示单元格的值。在热图中,行列的坐标是二维数据的标识符,每个单元格的颜色深浅表示其对应值的大小。通过热图,我们可以快速浏览和比较不同数据集中的数据分布和特征。

热图有多种类型,包括点热图、条形图热图、气泡热图、颜色映射热图等。其中点热图和条形图热图是最常用的热图类型之一。点热图以点的颜色来表示每个单元格的值,而条形图热图则使用条形的长度和颜色来表示每个单元格的值。

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
​
# 创建一个随机数据集
data = np.random.rand(10, 12)
​
# 创建一个热图
heatmap = sns.heatmap(data)
​
# 显示图形
plt.show()

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
​
# 创建一个随机数据集
data = np.random.rand(10, 12)
​
# 创建一个热图
heatmap = sns.heatmap(data, cmap='coolwarm')
​
# 显示图形
plt.show()

8、箭靶图

箭靶图,也叫做蜘蛛网图或者雷达图,是一种用于显示多变量数据的图形。它由一个中心点向外辐射出多条线段,每条线段代表一个变量,线段的长度代表该变量的数值大小。箭靶图的每个角都代表一个变量,从中心点到每个角的线段表示该变量的数值大小。箭靶图通常用于显示性能数据,如产品的性能指标、公司的财务数据等。在箭靶图中,每个变量的最大值和最小值通常被标出来,以便更好地了解每个变量的数值范围。箭靶图的主要优点是它可以同时显示多个变量的数值大小,并且可以通过线段的长度和角度来表示各个变量之间的关系。

import matplotlib.pyplot as plt
import numpy as np
​
# 创建一个新的figure
fig, ax = plt.subplots()
​
# 创建箭靶的外圈
circle1 = plt.Circle((0, 0), 10, fill=False)
circle2 = plt.Circle((0, 0), 20, fill=False)
circle3 = plt.Circle((0, 0), 30, fill=False)
circle4 = plt.Circle((0, 0), 40, fill=False)
circle5 = plt.Circle((0, 0), 50, fill=False)
circle6 = plt.Circle((0, 0), 60, fill=False)
circle7 = plt.Circle((0, 0), 70, fill=False)
circle8 = plt.Circle((0, 0), 80, fill=False)
​
# 将圆添加到图中
ax.add_artist(circle1)
ax.add_artist(circle2)
ax.add_artist(circle3)
ax.add_artist(circle4)
ax.add_artist(circle5)
ax.add_artist(circle6)
ax.add_artist(circle7)
ax.add_artist(circle8)
​
# 生成数据点
x = 60*np.random.randn(100)
y = 60*np.random.randn(100)
ax.scatter(x, y, color='r', alpha=0.5)
​
# 设置x轴和y轴的限制,使得它们的范围都是[-90, 90]
ax.set_xlim([-90, 90])
ax.set_ylim([-90, 90])
​
# 添加一个标题,设置字体为SimHei解决中文无法显示的问题
plt.title('箭靶图', fontproperties='SimHei')
​
# 显示图形
plt.show()

9、折线图

折线图是一种以线条表示数据信息的图表类型。在折线图中,数据点的相继关系通过线条的起伏和连贯性来表现。折线图通常用于显示时间序列或连续数据的变化情况。

import matplotlib.pyplot as plt
import numpy as np
​
# 定义数据
x = np.linspace(0, 10, 100)  # 在0到10之间均匀取100个点
y = np.sin(x)
​
# 绘制折线图
plt.figure(figsize=(10, 6))  # 设置图形大小
plt.plot(x, y, label='sin(x)', linewidth=2, linestyle='-', color='blue')  # 绘制折线图,并设置线宽、线型和颜色
plt.title('Sine Function')  # 设置图形标题
plt.xlabel('x')  # 设置x轴标签
plt.ylabel('y')  # 设置y轴标签
plt.xticks(np.arange(0, 11, 1))  # 设置x轴刻度
plt.yticks(np.arange(-1, 1 + 0.2, 0.2))  # 设置y轴刻度
plt.grid(True)  # 显示网格线
plt.legend()  # 显示图例
​
# 显示图形
plt.show()

10、饼图

饼图(Pie Chart)是一种以圆形表示数据信息的图表类型,通过将圆周分割成若干个扇形,每个扇形对应一个数据项或类别,以扇形的面积或长度来表示数据量或占比。

import matplotlib.pyplot as plt
​
# 定义数据
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
​
# 绘制饼图
plt.figure(figsize=(6, 6))  # 设置图形大小
plt.pie(sizes, labels=labels, autopct='%1.1f%%')  # 绘制饼图,并设置标签和百分比格式
​
# 显示图形
plt.show()

11、散点图

散点图(Scatter plot)是一种用于展示两个变量之间关系的图形,它用点的密度和位置来表示数据点的分布情况。在散点图中,每个点代表一个数据点,x轴和y轴分别表示两个变量,通过观察点的位置可以大致了解这两个变量之间的关系。

散点图的优点是能够直观地反映两个变量之间的关系,并且可以方便地添加其他参考线或数据集来帮助分析和预测。它的缺点是在数据点较多时,图形可能会显得比较杂乱,不易读出准确的关系。

import matplotlib.pyplot as plt
import numpy as np
​
# 定义数据
x = np.random.randn(100)
y = np.random.randn(100)
​
# 绘制散点图
plt.figure(figsize=(6, 6))  # 设置图形大小
plt.scatter(x, y)  # 绘制散点图
​
# 显示图形
plt.show()

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

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

相关文章

亚马逊关于在澳大利亚销售儿童玩具和游戏的政策合规标准是什么?

亚马逊关于在澳大利亚销售儿童玩具和游戏的政策 在亚马逊澳大利亚商城中,设计用于或明确表示专供 14 岁及以下儿童玩耍用的所有商品或材料均视为儿童玩具。 商品根据以下标准确定为“儿童商品”: 预期用途: ASIN 是否可供儿童使用&#xff…

GPT的使用场景及开发方法

GPT(Generative Pre-trained Transformer)是一系列以Transformer架构为基础的自然语言处理(NLP)模型,其中最知名的是GPT-3。它们可以用于多种自然语言处理任务和文本生成任务。以下是GPT的一些使用场景和开发调用方法&…

迅为iTOP-iMX6QPLUS-Android6.0下uboot添加网卡驱动

本文档介绍在 iTOP-iMX6Q 和 iTOP-iMX6Q-PLUS 安卓 6.0 的 uboot 上添加网卡驱 动,添加完网卡驱动以后,uboot 就可以正常使用网络了。 1 具体步骤 1.1 修改 mx6sabre_common.h 文件 在 iTOP-iMX6_android6.0.1 源码目录下输入以下命令,打…

基于matlab实现的平面波展开法二维声子晶体能带计算程序

Matlab 平面波展开法计算二维声子晶体二维声子晶体带结构计算,材料是铅柱在橡胶基体中周期排列,格子为正方形。采用PWE方法计算 完整程序: %%%%%%%%%%%%%%%%%%%%%%%%% clear;clc;tic;epssys1.0e-6; %设定一个最小量,避免系统截断误差或除零错…

数据预处理-分箱(Binning)和 WOE编码

数据预处理-分箱(Binning)和 WOE编码 1. 分箱 1.1 理论 1.1.1 定义 分箱就是将连续的特征离散化,以某种方式将特征值映射到几个箱(bin)中。 1.1.2 为什么要进行分箱? 引入非线性变换,增强模型性能。因为原始值和目…

基于springboot实现“闲一品”交易平台电商系统项目【项目源码+论文说明】分享

基于springboot实现“闲一品”交易平台电商系统项目 摘要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,闲一品交易平台当然也不能排除在外。闲一品交易平台是以实际运用为开…

Light Image v6.1.8.0批量调整图片大小

Light Image Resizer,批量调整图片大小工具,图片批量添加水印, 批量转换图像格式、调整图片大小、缩放裁剪,图片格式转换、 重命名,排序;添加效果,旋转,自定义元数据,优…

安装深度(Deepin)系统

Deepin系统安装 Deepin是和Ubuntu一样,是一个基于Debian的Linux的发型版本。 Deepin相对于Ubuntu,Deepin更适合中国用户的使用习惯。 一 官网工具制作启动盘 制作启动盘、和安装系统,操作非常简单,nice! 官网提供了…

【数据结构】串的模式匹配:简单的模式匹配算法,KMP算法

欢~迎~光~临~^_^ 目录 知识树 1、什么是串的模式匹配 2、简单的模式匹配算法 3、KMP算法 3.1 算法原理 3.2 C语言实现KMP算法 3.3 求next数组 3.4 KMP算法优化(对next数组的优化) 知识树 1、什么是串的模式匹配 串的模式匹配是在一个字符串中…

NSA SELinux将在Linux 6.6中去品牌化为SELinux

导读安全增强型 Linux (Security-Enhanced Linux,SELinux) 是一个 Linux 内核模块,也是 Linux 的一个安全子系统;提供了一个实施访问控制安全策略的安全模块,现在已被广泛用于增强生产型 Linux 服务器和其他系统的安全性。 安全增…

ChatGPT 或其它 AI,能用在文书创作上吗?

新的申请季已经正式开始,一些热门项目的ED截止日期也不再遥远,因此很多准留学生们都已经开始了关于文书的创作。 而随着科技的不断发展,以ChatGPT为首的一众AI工具也作为一种辅助手段愈发融入了我们的生活。 那么不免就会有一些同学在准备申…

基于springboot实现“闲一品”交易平台电商系统项目【项目源码+论文说明】

基于springboot实现“闲一品”交易平台电商系统项目 摘要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,闲一品交易平台当然也不能排除在外。闲一品交易平台是以实际运用为开…

redis的基础底层篇 zset的详解

一 zset的作用以及结构 1.1 zset作用 redis的zset是一个有序的集合,和普通集合set非常相似,是一个没有重复元素的字符串集合。常用作排行榜等功能,以用户 id 为 value,关注时间或者分数作为 score 进行排序。 1.2 zset的底层结…

【计算机网络】Tcp详解

文章目录 前言Tcp协议段格式TCP的可靠性面向字节流应答机制超时重传流量控制滑动窗口(重要)拥塞控制延迟应答捎带应答标志位具体标志位三次握手四次挥手粘包问题TCP异常情况listen的第二个参数 前言 前面我们学习了传输层协议Udp,今天我们一…

春秋云镜 CVE-2013-2134

春秋云镜 CVE-2013-2134 S2-015 靶标介绍 2.3.14.3 之前的 Apache Struts 2 允许远程攻击者通过标记在通配符匹配期间未正确处理的所提出的操作名称的请求执行任何 OGNL 代码,这是与 CVE-2013-2135 不同的漏洞。 启动场景 漏洞利用 工具利用 得到flag flag{b92…

.360勒索病毒和.halo勒索病毒数据恢复|金蝶、用友、ERP等数据恢复

导言: 随着数字化时代的持续发展,网络安全威胁也变得前所未有地复杂和难以应对。在这个充满挑战的网络环境中,勒索病毒已经成为了一种极为危险和破坏性的威胁。最近引起广泛关注的是.360勒索病毒,一种可怕的恶意软件,…

基于深度学习的加密恶意流量检测

加密恶意流量检测 研究目标定位数据收集数据处理基于特征分类算法的数据预处理基于源数据分类算法的数据预处理 特征提取模型选择基于数据特征的深度学习检测算法基于特征自学习的深度学习检测算法 训练和评估精确性指标实时性指标 应用检验改进 摘录自:Mingfang ZH…

如何实现 pdf 转 word

前言:最直接的方式 wps 充会员可以直接转,但是单纯为了 使用这个功能有没啥必要 pdf转word方法 在线转换wps转换其他收费转换方式 在线转换 介绍在线转换,虽然样式简陋但是可以转换成功,转换以后也没有失真 http://ssyr.mynatap…

#循循渐进学51单片机#步进电机与蜂鸣器#not.8

1、能够理解清楚单片机IO口的结构。 2)t1相当于PnP三级管,t2相当于npn三极管 3) 强推挽io具有较强的驱动能力,电流输出能力很强。 2、能够看懂上下拉电阻的电路应用,并且熟练使用上下拉电阻。 3、理解28BYJ-48减速步进电机的工作…

Android 官方屏幕适配之ScreenMatch

背景: Android 项目的一个app需要适配手机平板,为了一套UI和可以适配2个不同屏幕,记录一个适配的技巧: 前提,使用这个框架:GitHub - wildma/ScreenAdaptation: :fire:一种非常好用的 Android 屏幕适配——…