python28种极坐标绘图函数总结
文章目录
- 基础图
- 误差线
- 等高线polar
- 场图polar
- 统计图
- 非结构坐标图
📊python35种绘图函数总结,3D、统计、流场,实用性拉满
matplotlib中的画图函数,大部分情况下只要声明坐标映射是polar,就都可以画出对应的极坐标图。但极坐标和直角坐标的坐标区间不同,所以有些数据和函数关系适合在直角坐标系中展示,而有些则适合在及坐标中展示。
基础图
函数 | 坐标参数 | 图形类别 | |
---|---|---|---|
plot | x,y | 曲线图 | |
stackplot | x,y | 散点图 | |
stem | x,y | 茎叶图 | |
scatter | x,y | 散点图 | |
polar | x,y | 极坐标图 | |
step | x,y | 步阶图 | |
bar | x,y | 条形图 | |
barh | x,y | 横向条形图 |
bar和barh的对偶关系稍微有些抽象,可以理解为前者是以角度方向为x轴;而barh则是以半径方向为x轴。
代码如下
import matplotlib.pyplot as plt
import numpy as npx = np.arange(20)/2
y = xfDct = {"plot" : plt.plot, "stackplot": plt.stackplot,"stem" : plt.stem, "scatter" : plt.scatter, "polar": plt.polar, "step" : plt.step, "bar" : plt.bar, "barh" : plt.barh, }fig = plt.figure(figsize=(14,6))
for i,key in enumerate(fDct, 1):ax = fig.add_subplot(2,4,i, projection="polar")fDct[key](x, y)plt.title(key)plt.tight_layout()
plt.show()
误差线
函数 | 坐标 | 图形类别 |
---|---|---|
errorbar | x,y,xerr,yerr | 误差线 |
fill_between | x,y1,y2 | 纵向区间图 |
fill_betweenx | y, x1, x2 | 横向区间图 |
代码如下
x = np.arange(20)/2
y = x
y1, y2 = 0.9*y, 1.1*y
x1, x2 = 0.9*x, 1.1*x
xerr = np.abs([x1, x2])/10
yerr = np.abs([y1, y2])/10fig = plt.figure(figsize=(12,4))ax = fig.add_subplot(141, projection='polar')
ax.errorbar(x, y, yerr=yerr)
plt.title("errorbar with yerr")ax = fig.add_subplot(142, projection='polar')
ax.errorbar(x, y, xerr=xerr)
plt.title("errorbar with xerr")ax = fig.add_subplot(143, projection='polar')
ax.fill_between(x, y1, y2)
plt.title("fill_between")ax = fig.add_subplot(144, projection='polar')
ax.fill_betweenx(y, x1, x2)
plt.title("fill_betweenx")plt.tight_layout()
plt.show()
等高线polar
绘图函数 | 坐标 | 说明 |
---|---|---|
contour | [x,y,]z | 等高线 |
contourf | [x,y,]z | 填充等高线 |
pcolormesh | [x,y,]z | 伪彩图 |
由于imshow默认其绘图坐标是标准的1x1网格,而在极坐标种,这种网格的尺寸会随着r的增大而增大,从而变得极其不实用,所以下面对极坐标图的演示,就不包含imshow了。
代码如下
X, Y = np.indices([100,100])
X = X/100*np.pi*2
Y = Y/25 - 2
Z = (1 - np.sin(X) + np.cos(X)**5 + Y**3) * np.exp(-Y**2)fDct = {"contour": plt.contour, "contourf":plt.contourf, "pcolormesh" : plt.pcolormesh}fig = plt.figure(figsize=(9,3))
for i,key in enumerate(fDct, 1):ax = fig.add_subplot(1,3,i, projection='polar')fDct[key](X,Y,Z)plt.title(key)plt.tight_layout()
plt.show()
场图polar
绘图函数 | 坐标 | 说明 |
---|---|---|
quiver | x,y,u,v | 向量场图 |
streamplot | x,y,u,v | 流场图 |
barbs | x,y,u,v | 风场图 |
代码如下
Y, X = np.indices([10,10])
X = X/10*np.pi*2.5
Y = Y#Y, X = np.indices([6,6])/0.75 - 4
U = 6*np.sin(X) + Y
V = Y - 6*np.sin(X)dct = {"quiver":plt.quiver, "streamplot":plt.streamplot, "barbs" :plt.barbs}fig = plt.figure(figsize=(12,4))for i,key in enumerate(dct, 1):ax = fig.add_subplot(1,3,i,projection='polar')dct[key](X,Y,U,V)plt.title(key)plt.tight_layout()
plt.show()
统计图
绘图函数 | 坐标 | 说明 |
---|---|---|
hist | x | 数据直方图 |
boxplot | x | 箱线图 |
violinplot | x | 小提琴图 |
enventplot | x | 平行线疏密图 |
hist2d | x,y | 二维直方图 |
hexbin | x,y | 钻石图 |
pie | x | 饼图 |
极坐标在绘制直方图的时候,需要注意其横坐标是以 2 π 2\pi 2π为周期的,也就是说随机变量的最大值和最小值不得相差 2 π 2\pi 2π,否则会导致重叠。
由于极坐标绘图本质上是一种坐标映射,所以并不会把0和360°真正地等同起来,所以在hist2d中,整个图像并没有闭合。而最有意思的是饼图,直接给压扁了,让人很难一下子看出不同组分的比例关系。
代码如下
x = np.random.standard_normal(size=1000)dct = {"hist" : plt.hist, "violinplot" : plt.violinplot,"boxplot": plt.boxplot}fig = plt.figure(figsize=(10,6))
for i,key in enumerate(dct, 1):ax = fig.add_subplot(2,3,i, projection='polar')dct[key](x)plt.title(key)ax = fig.add_subplot(234, projection='polar')
ax.eventplot(x)
plt.title("eventplot")x = np.random.randn(5000)
y = 1.2 * x + np.random.randn(5000) / 3
ax = fig.add_subplot(235, projection='polar')
ax.hist2d(x, y, bins=[np.arange(-3,3,0.1)] * 2)
plt.title("hist2d")ax = fig.add_subplot(236, projection='polar')
ax.pie([1,2,3,4,5])
plt.title("pie")plt.tight_layout()
plt.show()
非结构坐标图
绘图函数 | 坐标 | 说明 |
---|---|---|
tricontour | x,y,z | 非结构等高线 |
tricontourf | x,y,z | 非结构化填充等高线 |
tricolor | x,y,z | 非结构化伪彩图 |
triplot | x,y | 三角连线图 |
代码如下
x = np.random.uniform(0, np.pi*2, 256)
y = np.random.uniform(-2, 2, 256)
z = (1 - np.sin(x) + np.cos(x)**5 + y**3) * np.exp(-y**2)levels = np.linspace(z.min(), z.max(), 7)fig = plt.figure(figsize=(12,4))ax = fig.add_subplot(141, projection='polar')
ax.plot(x, y, 'o', markersize=1, color='lightgrey', alpha=0.5)
ax.tricontour(x, y, z, levels=levels)
plt.title("tricontour")ax = fig.add_subplot(142, projection='polar')
ax.plot(x, y, 'o', markersize=1, color='lightgrey', alpha=0.5)
ax.tricontourf(x, y, z, levels=levels)
plt.title("tricontourf")ax = fig.add_subplot(143, projection='polar')
ax.plot(x, y, 'o', markersize=1, color='lightgrey', alpha=0.5)
ax.tripcolor(x, y, z)
plt.title("tripcolor")ax = fig.add_subplot(144, projection='polar')
ax.triplot(x,y)
plt.title("triplot")plt.tight_layout()
plt.show()
相关文章:
python28种极坐标绘图函数总结
文章目录 基础图误差线等高线polar场图polar统计图非结构坐标图 📊python35种绘图函数总结,3D、统计、流场,实用性拉满 matplotlib中的画图函数,大部分情况下只要声明坐标映射是polar,就都可以画出对应的极坐标图。但…...
C#编程基础(万字详解,这一篇就够了)
C#及其开发环境简介 C#概述 C#的编程功能 C#与.Net的关系 .Net C# C#的集成开发环境 Windows上编写C#程序 Linux/Mac OS上编写C#程序 运行第一个HelloWorld程序 C#基本语法 程序实例 C#基本语法 using关键字 class关键字 注释 成员变量 成员函数 实例化一个类…...
SpringBoot中自定义注解
目录 SpringBoot中自定义注解 关于注解的解释 元注解 Documented Target Retention Inherited Native 自定义注解 自定义注解与SpringBoot全局异常处理完成参数校验 约束验证器 自定义全局异常处理器 自定义注解完成数据脱敏 定义脱敏策略枚举 自定义注解 实行脱…...
《TCP/IP网络编程》阅读笔记--地址族和数据序列
目录 1--IP地址和端口号 2--地址信息的表示 3--网络字节序与地址变换 4--网络地址的初始化与分配 5--Windows部分代码案例 1--IP地址和端口号 IP 地址分为两类: ① IPv4 表示 4 字节地址族; ② IPv6 表示 16 字节地址族; IPv4 标准的 4 …...
【C++】可变参数模板
2023年9月9日,周六下午 这个还是挺难学的,我学了好几天... 在这里我会举大量的示例程序,这样可以有一个更好的理解, 不定期更新。 目录 推荐文章: 示例程序一:拼接字符串 示例程序二:求整…...
WPF Flyout风格动画消息弹出消息提示框
WPF Flyout风格动画消息弹出消息提示框 效果如图: XAML: <Window x:Class"你的名称控件.FlyoutNotication"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xam…...
Spring Boot 集成 Redis
Spring-data-redis 在 Spring 中整合 Redis jedis : 采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用 jedis pool 连接池 lettuce : 采用netty,实例可以再多个线程中进行共享,不存在…...
Java线程之间通信方式
目录 1 线程之间的通信方式主要有以下几种2 共享变量3 锁机制4 条件变量5 信号量6 管道 1 线程之间的通信方式主要有以下几种 在实际开发时,一个进程中往往有很多个线程,大多数线程之间往往不是绝对独立的,比如说我们需要将A和B 两个线程的执…...
【LeetCode-中等题】367. 有效的完全平方数
文章目录 题目方法一:二分查找 题目 方法一:二分查找 找 1 - num 之间的 mid, 开方是整数 就找得到 mid, 不是整数自然找不到mid class Solution { // 二分查找 ;找 1 - num 之间的mid 开方是整数 就找得到 不是…...
英语单词(二)
1.int:整形 2.char:字符型 3.scanner:接受输入,扫描器 4.integer:整数,整形 5.type:类型 6.string:字符串类型 7.double:双精度浮点型...
Django 用相对路径方式引用自定义模块 或 文件
Django的文件夹结构 projectName/websiteName/appName manage.py 所在路径为:D:/projectA/website1/manage.py views.py 所在路径为:D:/projectA/website1/app1/views.py D:/projectA/website1/app1/module1.py 如果要引用自定义模块,引用…...
企业架构LNMP学习笔记22
防盗链原理和实现。 域名A的资源文件,经常被域名B直接调用访问。 而用户经常访问域名B,看到的资源(图片等)以为是域名B的,实际则是域名A的。 但是域名A没有获得任何收益,却要给域名B来源的访问消耗服务器…...
uniapp和小程序设置tabBar和显示与隐藏tabBar
(1)设置tabBar: uni.setTabberItem({ }); wx.setTabberItem({ }); 属性值: indexnumber是tabBar 的哪一项,从左边算起,索引从0开始textstring否tab 上按钮文字iconPathstring否图片路径selectedIc…...
物联网、无线通讯
LAN:局域网 Local Area Network WAN:广域网 Wide Area Network WLAN:无线局域网 Wireless LAN LPWAN:低功耗广域网 Low Power Wide Area Network技术特点无线通信技术应用场景高功耗、高速率的远距离传输3G、4G蜂窝这类传输技术适…...
Pod和容器设计模式
为什么需要Pod 一些应用的实现是需要多个进程配合完成的,由于容器实际上是一个“单进程”模型,如果在容器里启动多个进程会存在进程管理的难题。在Kubernetes里面,实际上会被定义为一个拥有四个容器的Pod。 Pod相当于进程组 Kubernetes 是…...
docker系列(3) - 常用软件安装
文章目录 3. docker安装常用软件3.1 安装nginx3.2 安装redis3.3 安装mysql3.4 部署springboot程序3.4.1 编写dockerfile3.4.2 构建镜像3.4.3 启动镜像 3. docker安装常用软件 3.1 安装nginx docker pull nginx#挂载启动 docker run -it -d \ --namenginx \ --networkpub_netw…...
Apache Hive之数据查询
文章目录 版权声明数据查询环境准备基本查询准备数据select基础查询分组、聚合JOINRLIKE正则匹配UNION联合Sampling采用Virtual Columns虚拟列 版权声明 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明,所有版权属于黑马程序员或相关权利…...
OpenCV---视频操作
用摄像头捕获视频 import cv2 as cv import numpy cap cv.VideoCapture(0) while(cap.isOpened()):ret, frame cap.read() # read() 它返回两个值,第一个是布尔值,表示是否成功读取到一帧,第二个是帧本身。cv.imshow(Video, frame)if c…...
《TCP/IP网络编程》阅读笔记--进程间通信
目录 1--进程间通信 2--pipe()函数 3--代码实例 3-1--pipe1.c 3-2--pipe2.c 3-3--pipe3.c 3-4--保存信息的回声服务器端 1--进程间通信 为了实现进程间通信,使得两个不同的进程间可以交换数据,操作系统必须提供两个进程可以同时访问的内存空间&am…...
mysql中show status参数介绍
Uptime_since_flush_status, 2159061:自上次刷新状态以来的服务器运行时间(以秒为单位)。Uptime, 2159061:服务器的总运行时间(以秒为单位)。Threads_running, 2:当前正在运行的客户端线程数。T…...
Tomcat服务的部署及配置优化
文章目录 1. Tomcat的相关介绍1.1 Tomcat简介1.2 Tomcat的核心组件1.2.1 Web容器1.2.2 Servlet容器1.2.3 JSP容器 1.3 Tomcat的功能组件1.3.1 connector连接器1.3.2 container容器1.3.2.1 子容器及其相关功能 1.4 主要作用1.5 Tmocat处理请求的过程 2. Tomcata服务部署2.1 安装…...
入门力扣自学笔记279 C++ (题目编号:1123)
1123. 最深叶节点的最近公共祖先 题目: 给你一个有根节点 root 的二叉树,返回它 最深的叶节点的最近公共祖先 。 回想一下: 叶节点 是二叉树中没有子节点的节点树的根节点的 深度 为 0,如果某一节点的深度为 d,那它…...
【AIGC专题】Stable Diffusion 从入门到企业级实战0402
一、概述 本章是《Stable Diffusion 从入门到企业级实战》系列的第四部分能力进阶篇《Stable Diffusion ControlNet v1.1 图像精准控制》第02节, 利用Stable Diffusion ControlNet Openpose模型精准控制图像生成。上一节,我们介绍了《Stable Diffusion C…...
【Spring事务】Spring事务的传播机制(通俗易懂)
目录 什么是spring事务 Spring事务的传播机制 什么是spring事务 封装在数据库事务之上的一种事务处理机制。其管理方法有两种,分别是编程式事务以及声明式事务。一般我们使用Transactional进行声明式事务。 Spring事务的传播机制 Spring的事务传播机制种类 传播行…...
使用 Python 的高效相机流
一、说明 让我们谈谈在Python中使用网络摄像头。我有一个简单的任务,从相机读取帧,并在每一帧上运行神经网络。对于一个特定的网络摄像头,我在设置目标 fps 时遇到了问题(正如我现在所理解的——因为相机可以用 mjpeg 格式运行 30…...
pycharm使用
在使用pycharm时,有时一个回车或者一个tab键,缩进的长度不符合预期可以调整设置tab键缩进的长度: 平时工作中,不同的人在编辑代码缩进的时候,有的人喜欢按四个或者六个空格,有的人喜欢按tab键,而…...
C++项目实战——基于多设计模式下的同步异步日志系统-②-相关技术补充(不定参函数)
文章目录 专栏导读不定参函数C风格不定参函数不定参宏函数 专栏导读 🌸作者简介:花想云 ,在读本科生一枚,C/C领域新星创作者,新星计划导师,阿里云专家博主,CSDN内容合伙人…致力于 C/C、Linux 学…...
iOS开发Swift-10-位置授权, cocoapods,API,天气获取,城市获取-和风天气App首页代码
1.获取用户当前所在的位置 在infi中点击加号,选择权限:当用户使用app的时候获取位置权限. 填写使用位置权限的目的. 2.获取用户的经纬度. ViewController: import UIKit import CoreLocationclass ViewController: UIViewController, CLLocationManagerDelegate { //遵循CLL…...
CNN(七):ResNeXt-50算法的思考
🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊|接辅导、项目定制 在进行ResNeXt-50实战练习时,我也跟其他学员一样有这个疑惑,如下图所示: 反复查看代码,仍然有…...
【人月神话】深入了解软件工程和项目管理
文章目录 👨⚖️《人月神话》的主要观点👨🏫《人月神话》的主要内容👨💻作者介绍 🌸🌸🌸🌷🌷🌷💐💐💐&a…...
专业的网站设计/网上怎么推广公司产品
在企业管理器中删除数据库时提示框中有一选项:为数据库删除备份并还原历史记录,如下图,是什么意思? 我们先看两个图。 在还原数据库时,通过“数据库”或“文件组或文件”还原时,我们就可以看到我们曾经的备…...
哪些网站做财金的好/想做游戏推广怎么找游戏公司
用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。 SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目…...
绑定ip地址的网站/新能源汽车公司
文章目录1. bootstrap简单介绍_栅格_布局容器1.1 bootstrap简单使用1.2 布局容器1.3 栅格单位1.4 表单2. bootstrao组件和插件简单使用2.1 简单样式演示2.2 导航栏2.3 巨幕2.4 进度条2.5 轮播图3. 自定义web框架(nbweb项目)3.1 目录结构3.2 static文件夹…...
做一个网站的完整教程/产品如何做市场推广
什么是诊断服务? 在还没有诊断服务的时候,如果车辆故障,需要有经验的师傅长时间的摸排查找,费时费力。而车辆的ECU节点有了诊断模块后,就具有了诊断功能,这样车辆如果有了故障,就会自动生成故障…...
网站建设作业有哪些/大数据网络营销
基本要求: 求N个数的最大公约数和最小公倍数。用C或C或java或python语言实现程序解决问题。 提高要求:Hanks博士问题 基本要求::首先要明确如何求最大公约数和最小公倍数。有四种算法:辗转相除、stein算法、穷举法、更…...
手机做网站对比路由器做网站/微信crm系统
网络提示错误720的解决方法之一参考文章: (1)网络提示错误720的解决方法之一 (2)https://www.cnblogs.com/lemon1991/p/5046868.html 备忘一下。...