python绘图总结

1 二维图像

1.1 二维曲线

plot(x, y, ls="-", lw=1.5, label=None)
  • x, y:横坐标和纵坐标
  • ls:颜色、点标记、线型列表,如 ls=‘r*-’ 表示红色实线、*形点,ls=‘g.’ 表示绿色散点
  • lw:线宽度
  • label:线标签
plot(x, y, color, marker, linestyle)
  • x, y:横坐标和纵坐标
  • color:颜色,取值:b(blue), g(green), r(red), c(cyan), m(magenta), y(yellow), k(black), w(white)
  • marker:标记形状,取值:. , o v ^ < > 1 2 3 4 s p * h H + x D d | _
  • linestyle:线型,取值:- – -. :
import numpy as np
import matplotlib.pyplot as pltx=np.arange(0,12,0.3)
y1=np.sin(x)
y2=np.cos(x)plt.figure()  #新建一个图像窗口
plt.rcParams['font.sans-serif']=['SimHei']  #正常显示标题中中文
plt.rcParams['axes.unicode_minus'] = False  #正常显示坐标轴中中文plt.subplot(1,2,1)  #使用第1个窗格
plt.plot(x,y1,'r*-') #绘图
#plt.plot(x,y1,color='r',marker='*',linestyle='-') #和上面等价
plt.title("正弦曲线")  #标题
plt.xlabel('x轴')  #x轴命名
plt.ylabel('y轴')  #y轴命名
plt.grid()  #添加网格
plt.legend(['sinx'])  #显示图例plt.subplot(1,2,2)  #使用第2个窗格
plt.plot(x,y1,'r*-',label='sinx')  #绘制正弦图像
plt.plot(x,y2,'g.--',label='cosx')  #绘制余弦图像
plt.title('正弦曲线、余弦曲线')  #标题
plt.legend()  #显示图例

img

1.2 二维散点图

scatter(x, y, s=20, c='b', marker='o', cmap, alpha)
  • x, y:横坐标和纵坐标
  • s:点大小
  • c:点颜色,取值:b(blue), g(green), r(red), c(cyan), m(magenta), y(yellow), k(black), w(white)
  • marker:点标记,取值:. , o v ^ < > 1 2 3 4 s p * h H + x D d | _
  • cmap:颜色图谱
  • alpha:透明度,取值:0~1,超过1时当1算,低于1时当0算
  • linewidths:边框宽度
import numpy as np
import matplotlib.pyplot as pltsize=100 
x=np.random.uniform(size=size)
y=np.random.uniform(size=size)
s=np.random.uniform(5,400,size=size)  #点大小
c=np.random.uniform(size=size)  #点颜色
lw=np.random.uniform(1,4,size=size)  #边框宽度plt.figure()  #新建一个图像窗口plt.subplot(1,2,1)  #使用第1个窗格
plt.scatter(x,y,s=s,c=c,alpha=0.5,linewidths=lw,edgecolors='m')  #绘制散点图plt.subplot(1,2,2)  #使用第2个窗格
plt.scatter(x,y,s=s,c=c,cmap='rainbow',alpha=0.5)  #绘制散点图

img

cmap 为颜色图谱,取值如下: (见cmap设置颜色的参数)

img

1.3 图像修饰

  • figure( num, figsize, dpi ):新建一个空白图像窗口,num为窗口名字,figsize为窗口尺寸,dpi为分辨率
  • title( ):标题
  • xlabel( ):x轴标签
  • ylabel( ):y轴标签
  • xlim( xmin, xmax ):x轴图像显示范围
  • ylim( ymin, ymax ):y轴图像显示范围
  • axis( xmin, xmax, ymin, ymax ):设置x轴和y轴显示范围
  • xticks( ticks, labels ):x轴刻度标记,ticks为需要标记的坐标,labels为对应ticks的标签
  • yticks( ):y轴刻度标记,ticks为需要标记的坐标,labels为对应ticks的标签
  • vlines( x, ymin, ymax, colors=‘k’, linestyles=‘solid’, label=‘’ ):绘制垂直分割线
  • hlines( y, xmin, xmax, colors=‘k’, linestyles=‘solid’, label=‘’ ):绘制水平分割线
  • text( x, y, s ):说明文字,(x,y)为文字显示位置,s为文字内容
  • subplot( rows, cols, num ):多窗格绘图,rows表示行数,cols表示列数,num表示窗格序号
  • legend( labels ):显示图例,labels为各曲线的图例标签列表,若在plot()中已给标签,这里可以省略参数
  • grid():显示网格
  • show( ):显示图像
  • savefig( name, dpi ):保存图片,默认以png格式保存,dpi为分辨率
  • gca( ):获取坐标轴(axis)对象

这里仅介绍 xticks() 的用法:

import numpy as np
import matplotlib.pyplot as pltx=np.arange(0,15.7,0.1)
y=np.sin(x)plt.figure()  #新建一个图像窗口
plt.plot(x,y,'r.')  #绘图ticks=np.arange(0,6)*np.pi
labels=['0π','1π','2π','3π','4π','5π']
plt.xticks(ticks,labels)  #x轴示数标记
plt.grid()  #显示网格

img

1.4 坐标轴控制

1.4.1 坐标轴刻度间隔

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocatorx=np.arange(0,15.7,0.1)
y=np.sin(x)plt.figure()  #新建一个图像窗口
plt.plot(x,y,'r.')  #绘图ax=plt.gca()  #获取坐标轴(axis)对象
ax.xaxis.set_major_locator(MultipleLocator(3.14))  #设置x轴示数间隔
plt.grid()  #显示网格

img

可以看到,x 轴刻度为 3.14

1.4.2 坐标轴刻度格式

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import FormatStrFormatterx=np.arange(0,15.7,0.1)
y=np.sin(x)plt.figure()  #新建一个图像窗口
plt.plot(x,y,'r.')  #绘图ax=plt.gca()  #获取坐标轴(axis)对象
ax.yaxis.set_major_formatter(FormatStrFormatter('%.1f'))  #设置y轴示数格式
plt.grid()

img

可以看到,y 轴刻度只显示1位小数。此方法也可以避免坐标轴示数有时候自动变成+e**的情况发生

2 三维图像

2.1 三维坐标轴对象(Axes3D

在绘制三维图像时,需要先创建三维坐标轴对象 Axes3D ,创建方法主要有以下2种:

方法一

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D  #虽然没有明确调用 Axes3D,也不能省略,否则会报错fig=plt.figure()  #创建一个图像窗口
ax=plt.axes(projection='3d')  #创建三维坐标轴对象

方法二

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3Dfig=plt.figure()  #创建一个图像窗口
ax=Axes3D(fig)  #创建三维坐标轴对象

运行代码,可以看到创建了一个空的三维图像窗口,如下:

img

多窗格绘图

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D  #虽然没有明确调用 Axes3D,也不能省略,否则会报错fig=plt.figure()  #创建一个图像窗口
ax=fig.add_subplot(rows,cols,num,projection='3d')  #添加一个三维子图

2.2 三维曲线

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3Dt=np.linspace(0,20,70)  #参数,生成[0,20]之间70个点
x=np.sin(t)
y=np.cos(t)
z=2*tfig=plt.figure()  #创建一个图像窗口
ax=Axes3D(fig)  #创建三维坐标轴对象ax.plot(x,y,z,'r*-')  #绘制3维曲线

img

2.3 三维散点图

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3Dsize=150  #点个数
x=np.random.randint(0,30,size)
y=np.random.randint(0,30,size)
z=np.random.randint(0,30,size)fig=plt.figure()  #创建一个图像窗口
ax=Axes3D(fig)  #创建三维坐标轴对象s=np.random.randint(0,200,size)  #点大小
c=np.random.randint(0,256,size)  #点颜色
ax.scatter(x,y,z,s=s,c=c,alpha=0.8)  #绘制3维散点图

img

2.4 三维曲面

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3Dx=np.linspace(0,10,50)
y=np.linspace(0,9,45)
X,Y=np.meshgrid(x,y)  #生成格点,并将所有格点的x轴值和y轴值分别保存到 X 和 Y 中,X 和 Y 的维度:(45,50)
Z=np.sin(X)+np.cos(Y)  #每个格点对应的函数值,维度:(45,50)fig=plt.figure()  #创建一个图像窗口ax=fig.add_subplot(1,2,1,projection='3d')  #添加一个三维子图
ax.plot_surface(X,Y,Z,cmap='hot')  #绘制三维曲面,cmap为颜色图谱ax=fig.add_subplot(1,2,2,projection='3d')  #添加一个三维子图
ax.plot_surface(X,Y,Z,cmap='rainbow')  #绘制三维曲面,cmap为颜色图谱

img

X,Y=np.meshgrid(x,y) 函数的作用是生成格点,并将所有格点的x轴值和y轴值分别保存到 X 和 Y 中,X 和 Y 的维度:(45,50) ,变量空间如下:

img

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
Python全套学习资料

在这里插入图片描述

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓
在这里插入图片描述

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

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

相关文章

波奇学Linux:进程等待

僵尸进程(Z状态)无法被kill指令杀死&#xff0c;通过进程等待杀掉它&#xff0c;解决内存泄漏问题&#xff08;进程处于僵尸态&#xff0c;仍然维护pcb结构体来解决问题&#xff09; 通过进程等待&#xff0c;获得进程退出情况 wait回收僵尸态进程 我们可以看到进程由五秒后子…

php hyperf 读取redis,存储到数据库

redis中排行榜中的数据 public function execute(string $date){$query ChannelConfig::query();$query->where(module_name, rank_reward);$rewardData $query->first();$rewards [];if( $rewardData ){$rewardContents $rewardData->content;foreach ($rewardC…

VMware----基于 VMware 玩转 CentOS 虚拟机创建、克隆以及配置后台运行

查看原文 文章目录 一、安装 Vmware二、创建 CentOS7 系统的虚拟机三、克隆虚拟机四、设置虚拟机后台运行 一、安装 Vmware &#xff08;1&#xff09;打开VMware下载地址页面&#xff0c;滑动页面&#xff0c;找到如下界面&#xff0c;点击【下载】 &#xff08;2&#xff…

本地电商平台商业模式 同城实体店引流获客方法

本地电商平台的商业模式通常是基于在线市场交易的。这样的平台允许本地商家在其上发布商品信息&#xff0c;消费者可以在平台上选择购买&#xff0c;并直接向卖家付款。商家可以通过平台获得更广泛的市场覆盖和销售机会&#xff0c;同时消费者也可以享受更加便利和多样化的购物…

RPC(3):HttpClient实现RPC之GET请求

1HttpClient简介 在JDK中java.net包下提供了用户HTTP访问的基本功能&#xff0c;但是它缺少灵活性或许多应用所需要的功能。 HttpClient起初是Apache Jakarta Common 的子项目。用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包&#xff0c;并且它支持 H…

Neural Network——神经网络

1.feature reusing——特征复用 1.1 什么是特征复用 回顾我们之前所学习的模型&#xff0c;本质上都是基于线性回归&#xff0c;但却都可以运用于非线性相关的数据&#xff0c;包括使用了如下方法 增加更多的特征产生新的特征&#xff08;多项式回归&#xff09;核函数 在本身…

Spring IOC 原理(二)

Spring IOC 原理 概念 Spring 通过一个配置文件描述 Bean 及 Bean 之间的依赖关系&#xff0c;利用 Java 语言的反射功能实例化Bean 并建立 Bean 之间的依赖关系。 Spring 的 IoC 容器在完成这些底层工作的基础上&#xff0c;还提供了 Bean 实例缓存、生命周期管理、 Bean 实…

JS中浅拷贝和深拷贝

本篇文章咱们一起来学习下JS中的浅拷贝和深拷贝&#xff0c;了解它们在内存上的区别&#xff0c;并掌握浅拷贝和深拷贝的常用实现方法。 引用赋值 在学习拷贝之前&#xff0c;咱们先来看一个常见的情景&#xff0c;如下图&#xff1a; 大家觉得这是深拷贝还是浅拷贝&#xff0…

2023 亚马逊云科技 re:lnvent 大会探秘: Amazon Connect 全渠道云联络中心

2023 亚马逊云科技 re:lnvent 大会探秘: Amazon Connect 全渠道云联络中心 前言一. Amazon Connect 介绍 &#x1f5fa;️二. Amazon Connect 使用教程 &#x1f5fa;️1.我们打开URl链接找到对应服务2.输入Amazon Connect选中第一个点击进入即可&#xff1b;3.在进入之后我们就…

【C++初阶】八、初识模板(泛型编程、函数模板、类模板)

相关代码gitee自取&#xff1a; C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a; 【C初阶】七、内存管理 &#xff08;C/C内存分布、C内存管理方式、operator new / delete 函数、定位new表达式&#xff09; -CSDN博客 目录 一 . 泛型编程 二 . 函数模板 函数模板…

使用ffmpeg将图片合成为mp4

首先在在图片文件夹输入cmd 这里确保已经安装ffmpeg并配置好环境变量。 然后这是我的文件夹目录&#xff1a; 将21张图片合成为mp4视频 这里使用如下命令&#xff1a; ffmpeg -framerate 1 -start_number 0 -i %d.png -c:v libx264 -pix_fmt yuv420p output.mp4 -framerat…

设计模式——中介者模式

引言 中介者模式是一种行为设计模式&#xff0c; 能让你减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互&#xff0c; 迫使它们通过一个中介者对象进行合作。 问题 假如你有一个创建和修改客户资料的对话框&#xff0c; 它由各种控件组成&#xff0c; 例如…

[渗透测试学习] Analytics - HackTheBox

文章目录 信息搜集漏洞利用内核提权 信息搜集 nmap扫描一下端口 nmap -sV -sC -p- -v --min-rate 1000 10.10.11.233发现两个端口&#xff0c;22端口为ssh服务&#xff0c;80端口有http服务 尝试访问80端口&#xff0c;发现重定向到http://analytical.htb/并且无法访问 编辑/…

Java+Swing: 数据回显和修改功能的实现 整理14

1. 数据回显 其实数据回显就是为修改功能的实现做准备的 1.1 在MainView类中&#xff0c;创建一个方法获取选中行的id // 获取选中的行的idpublic int[] getSelectedRowIds() {int[] selectedRows mainViewTable.getSelectedRows();int[] ids new int[selectedRows.length];…

第六届江苏人工智能大会成功举办,赛氪网荣获“优秀合作伙伴”奖项

2023年12月15日&#xff0c;第六届江苏人工智能大会在南京成功举办。本次大会汇集了众多人工智能领域的专家、学者和企业代表&#xff0c;共同探讨人工智能技术的最新发展和应用。江苏人工智能大会由江苏省人工智能学会&#xff08;简称&#xff1a;JSAI&#xff09;创办于2018…

【每日一题】反转二叉树的奇数层

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;广度优先搜索方法二&#xff1a;深度优先搜索 写在最后 Tag 【深度优先搜索】【广度优先搜索】【二叉树】【2023-12-15】 题目来源 2415. 反转二叉树的奇数层 题目解读 反转二叉树奇数层的节点。 解题思路 对于二叉…

【LeetCode刷题笔记(8-1)】【Python】【接雨水】【动态规划】【困难】

文章目录 引言接雨水题目描述提示 解决方案1&#xff1a;【动态规划】结束语 接雨水 引言 编写通过所有测试案例的代码并不简单&#xff0c;通常需要深思熟虑和理性分析。虽然这些代码能够通过所有的测试案例&#xff0c;但如果不了解代码背后的思考过程&#xff0c;那么这些代…

C++指针

本文章对C指针的使用做一个全面的阐述与解释 1.1指针的定义使用 指针&#xff1a; 通过指针间接访问内存 指针就是地址 看下面代码&#xff1a; #include<iostream> using namespace std; int main(){//1、定义指针int * p;int a 10;//2、使用指针p &a;cout<…

STM32-02-STM32基础知识

文章目录 STM32基础知识1. STM32F103系统架构2. STM32寻址范围3. 存储器映射4. 寄存器映射 STM32基础知识 1. STM32F103系统架构 STM32F103 STM32F103是ST公司基于ARM授权Cortex M3内核而设计的一款芯片&#xff0c;而Cortex M内核使用的是ARM v7-M架构&#xff0c;是为了替代…

根据星历文件实现卫星的动态运行模拟matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 .................................................................................... % …