python科研作图
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()
相关文章:
python科研作图
1、气泡图 气泡图是一种在xy轴上显示三个维度的数据的有效方式。在气泡图中,基本上,每个气泡代表一个数据点。横坐标和纵坐标的位置代表两个维度,气泡的大小则代表第三个维度。 在这个例子中,我们用numpy库生成了一些随机数据&a…...
视锥体裁剪射线的算法
射线Ray(直线情况)需要满足的条件: 在视野中显示的粗细均匀,需要分段绘制,每段的粗细根据到视野的距离计算射线model的顶点尽量少以节省性能损耗要满足条件2的话需要对射线进行裁剪,只绘制射线在视锥体内的部分,因此需要计算射线被视锥体裁剪后新的起点和终点 1. 计算三角…...
程序员在线周刊(投稿篇)
嗨,大家好!作为一名程序员,并且是一名互联网文章作者,我非常激动地向大家宣布,我们计划推出一份在线周刊,专门为程序员们提供有趣、实用的文章和资讯。而现在,我们正在征集投稿! 是…...
uniapp——实现聊天室功能——技能提升
这里写目录标题 效果图聊天室功能代码——html部分代码——js部分代码——其他部分 首先声明一点:下面的内容是从一个uniapp的程序中摘录的,并非本人所写,先做记录,以免后续遇到相似需求抓耳挠腮。 效果图 聊天室功能 发送图片 …...
脚本:用python实现五子棋
文章目录 1. 语言2. 效果3. 脚本4. 解读5. FutureReference 1. 语言 Python 无环境配置、无库安装。 2. 效果 以第一回合为例 玩家X 玩家0 3. 脚本 class GomokuGame:def __init__(self, board_size15):self.board_size board_sizeself.board [[ for _ in range(board_…...
Java-华为真题-预定酒店
需求: 放暑假了,小王决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为n的数组A),他的心理价位是x元,请帮他筛选出k个最接近x元的酒店(n>k>0)ÿ…...
win10 自带虚拟机软件 虚拟CentOS系统
win10 下使用需要虚拟一个系统,不需要额外安装VMware、Virtual box等软件。使用win10 自带虚拟机软件即可 步骤1 确保启动Hyper-V 功能启用 控制面板 -> 程序 -> 启用或关闭Windows功能 步骤 2 创建虚拟机 2.1 打开Typer-V 2.2 创建虚拟机 2.2.1 操作 -&g…...
【深度学习】 Python 和 NumPy 系列教程(十):NumPy详解:2、数组操作(索引和切片、形状操作、转置操作、拼接操作)
目录 一、前言 二、实验环境 三、NumPy 0、多维数组对象(ndarray) 1. 多维数组的属性 1、创建数组 2、数组操作 1. 索引和切片 a. 索引 b. 切片 2. 形状操作 a. 获取数组形状 b. 改变数组形状 c. 展平数组 3. 转置操作 a. 使用.T属性 b…...
3D视觉测量:复现Gocator的间隙面差
文章目录 0. 测试效果1. Gocator实现基本内容1.1 实现步骤1.2 参数说明 2. 未作 or TODO3. 开发说明 目标:使用C PCL复现Gocator中的间隙面差前置说明:因为没有拿到Gocator中用到的原始数据,仅是拿到与之类似的数据,因此最后测试的…...
文献综述怎么写?(以利用Zotero的文献管理软件为例)
文章目录 文章内容总结前言一. 利用文献管理软件建立文献库1. 创建文献分类2. 在论文库中搜索关键词并导入到文献管理软件中以web of science 为例以 IEEE Xplore为例 二、 导出文献、阅读摘要并记录关键字三、寻找一两篇本方向的文献综述,分析借鉴其文章结构四、写…...
中尺度混凝土二维有限元求解——运行弯曲、运行光盘、运行比较、运行半圆形(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
Python文件存读取
Python文件存读取 想整理一下存读取函数,方便以后直接调用。 读取 1、读xls、csv、xlsx到dataframe 这段代码非常好用,这个函数直接把各种格式文件给汇总了 def readDataFile(readPath): # readPath: 数据文件的地址和文件名try:if (readPath[-4:]…...
SpringBoot整合Easy-ES实现对ES操作
请确保已有可用的ES,若没有,请移步:Docker安装部署ElasticSearch(ES) 新建SpringBoot项目 这里是用的springboot版本是2.6.0 引入依赖 <!-- 排除springboot中内置的es依赖,以防和easy-es中的依赖冲突--><…...
让NPU跑起来迅为RK3588开发板设置交叉编译器
让NPU跑起来迅为RK3588开发板设置交叉编译器 编译器下载地址是网盘资料“iTOP-3588 开发板\02_【iTOP-RK3588 开发板】开发资料 \12_NPU 使用配套资料\03_编译所需工具\Linux”。 拷贝 gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz 到 Ubuntu 的/opt/tool_ch…...
yyyy-MM-dd‘T‘HH:mm:ssZ的T是什么意思?为什么要用单引号引着
背景 Java里的日期格式,通常我们看到 yyyy-MM-ddTHH:mm:ssZ 的写法是什么意思? 尤其这个T作为分隔符为什么左右有单引号,这个单引号会打印出来吗? 这个Z又是什么意思?是时区吗?如果是时区,输…...
SIT1145AQ收发器芯片CAN FD Passive功能详解(摘自官网)
芯力特在SIT1145AQ/FD版本中加入了CAN FD Passive功能,CAN FD Passive功能简单来说就是SIT1145AQ/FD在休眠或待机模式下屏蔽总线上的CAN FD报文。 为什么需要CAN FD Passive功能呢? SIT1145AQ的特定帧唤醒只支持CAN报文,当SIT1145AQ休眠模式…...
安卓毕业设计各种app项目,Android毕设设计,Android课程设计,毕业论文
作为一位从事软件开发多年的专业人士,您积累了丰富的经验和技能,解决了许多不同类型的问题。除了开发原创项目,您还愿意分享您的知识,指导实习生和在校生。这种乐于助人的行为对于行业的发展和新一代软件开发者的成长都起着积极的…...
c++下的ros通信(cmake的报错问题多)
1.自定义msg 这里的自定义msg和python的其实是一样的: 首先在src目录下 catkin_create_pkg car_interfaces rospy roscpp std_msgs message_runtime message_generation然后新建一个msg文件夹,然后建立相应的msg文件,接着就可以修改编译所需…...
测试必备 | 测试工程师必知的Linux命令有哪些?
在日常的测试工作中,涉及到测试环境搭建及通过查看日志来定位相关问题时经常会用到Linux,在测试工程师的面试中也经常会有笔试或面试的题目来考查测试人员对Linux的熟悉程度,这里分享下测试工程师需知的 Linux 命令有哪些。 Linux 作为一种常…...
成集云 | 药师帮集成英克ERP接口 | 解决方案
源系统成集云目标系统 业务背景 药师帮是一家专注于医药行业的电商平台,提供医药产品在线采购、销售和物流等一站式服务。药师帮致力于用数字化赋能院外医药市场的参与者,包括药企、药品分销商、药店及基层医疗机构,努力以安全高效…...
ICPC 2022 网络赛 d ( 数位dp + 二分
#include<bits/stdc.h> using namespace std; using VI vector<int>; using ll long long; const int mod 998244353;ll n; int d[100]; int dp[60][40][40][2]; set<int> s; //枚举数位,枚举这一位余数是几 //每一位的限制, int d…...
透视俄乌网络战之二:Conti勒索软件集团(下)
透视俄乌网络战之一:数据擦除软件 透视俄乌网络战之二:Conti勒索软件集团(上) Conti勒索软件集团(下) 1. 管理面板源代码2. Pony凭证窃取恶意软件3. TTPs4. Conti Locker v2源代码5. Conti团伙培训材料6. T…...
网络安全深入学习第一课——热门框架漏洞(RCE-命令执行)
文章目录 一、RCE二、命令执行/注入-概述三、命令执行-常见函数四、PHP命令执行-常见函数1、exec:2、system3、passthru4、shell_exec5、反引号 backquote 五、PHP命令执行-常见函数总结六、命令执行漏洞成因七、命令执行漏洞利用条件八、命令执行漏洞分类1、代码层…...
应用在电子体温计中的国产温度传感芯片
电子体温计由温度传感芯片,液晶显示器,纽扣电池,专用集成电路及其他电子元器件组成。能快速准确地测量人体体温,与传统的水银玻璃体温计相比,具有读数方便,测量时间短,测量精度高,能…...
JVM 虚拟机 ----> Java 内存模型(JMM)
文章目录 Java 内存模型(JMM)一、运行时数据区域划分二、程序计数器(Program Counter Register)计数器的作用 三、Java 虚拟机栈(VM Stack)四、本地方法栈(Native Method Stack)五、…...
指针-字符串替换
任务描述 从标准输入读入数据,每行中最多包含一个字符串 “_xy_”,且除了字符串“_xy_”外,输入数据中不包括下划线字符,请将输入行中的 “_xy_” 替换为 “_ab_”, 在标准输出上输出替换后的结果;若没有进行过满足条…...
docker 网络(单机环境)
文章目录 深入理解 Namespace什么是NamespaceNamespace当中的 Network Namespace Libcontainerdocker 网络基础创建两个命名空间创建网络接口 veth pair命名空间添加 veth 接口为 veth 接口分配 IP启动 veth 接口相互 ping bridge 网络搭建网络环境查看docker0 网桥创建网桥 br…...
14、二叉树的morris遍历等
统计热词 有一个包含100亿个URL的大文件,假设每个URL占用64B,请找出其中所有重复的URL 【补充】 某搜索公司一天的用户搜索词汇是海量的(百亿数据量),请设计一种求出每天热门Top100 词汇的可行办法 多个小文件的大根堆,然后把每…...
BeanFactory与ApplicationContext
BeanFactory与ApplicationContext的区别 使用Alt Ctrl U查看java类图 什么是BeanFactory接口 他是ApplicationContext的父接口他才是Spring 的核心容器,主要的ApplicationContext功能的实现都间接通过BeanFactory接口来实现 在ApplicationContext类中方法的实现是…...
【计算机网络】 粘包问题
文章目录 为什么会产生粘包问题?解决办法先发包大小再发包内容代码示例 为什么会产生粘包问题? tcp是数据流传输,是一种没有边界的,可以合并的传输数据方式。合并就要能拆开,拆不开就是粘包。 解决办法 设置标志位&a…...
东营网站建设方案/营销方案怎么写
随着微软Visual Studio 2010和.NET Framework 4.0的推出,微软向开发人员提供了创建多线程应用程序的更好的工具和类库。在这篇文章中,笔者将为您介绍Concurrency Visualizer的新功能是什么以及它能够提供什么类型的信息。 要把Visual Studio 2010的Conc…...
滨海做网站的价格/教你如何建立网站
没有区别 都是存在session里在jsp里面有内置session引用 直接用第二种方法就可以了...
web网站开发用什么软件/百度免费建网站
1.介绍 想通过python控制qq消息的定时自动发送,目前发现通过酷q社区大神开发的酷QhttpAPI 可以完美的实现各种语言基于web对qq调用。 2.工具和环境 工具:酷Q--我用的图灵版,httpAPIcdk下载以及api描述 环境: python3和windows…...
网站建设的利润率多少/媒体发稿网
布局实际上是一个Slot模型,其中每个父对象分配给子对象一个Slot,子对象可以自由占用Slot中的空间,通过Margin\VerticalAlignment\HorizontalAlignment控制 实例 <Border Background"LightBlue" BorderBrush"Black" Bo…...
上海网页设计公司排行/狼雨seo网站
1、函数定义的弊端: Python是动态语言,变量随时可以被赋值,且能赋值为不同的类型。 Python不是静态编译型语言,变量类型是在运行器决定的 动态语言很灵活,但是这种特性也是弊端: 1 def add(x, y): 2 r…...
wordpress可视编辑器/网页制作教程书籍
今天学校放假了,去广州市区玩,见识见识大城市的魅力。 今天就不发代码了,给大家看一下广州市区的样子,好美啊!...