Matplotlib 学习

知识点

1.plot():用于绘制线图和    散点图scatter() 函数:
    plot() 函数可以接受许多可选参数,用于控制图形的外观,例如:
    颜色: color='blue' 控制线条的颜色。
    线型: linestyle='--' 控制线条的样式,例如虚线。
    标记: marker='o' 控制数据点的标记样式。
    标记大小: markersize=5 控制标记的大小。
    标签: label='sin(x)' 给线条添加一个标签,用于图例显示。  2.scatter():用于绘制散点图
        plt.plot(t, s,label='正弦','b--',color='#096')# 绘图     'b--' 指的是绘制一条蓝色的虚线。  -表示实线
        plt.xlabel('x-变量',fontproperties='STKAITI',fontsize=10)
        plt.ylabel('y-正弦余弦函数值',fontproperties='STKAITI',fontsize=10)
        plt.title('sin-cos 函数图像',fontproperties='STKAITI',fontsize=10)
        plt.legend(prop=myfont)  #图例
        plt.xticks(np.arange(0, 11, step=2))  # 设置 x 轴刻度为 0 到 10,步长为 2
        plt.yticks([-1, 0, 1])  # 设置 y 轴刻度为 -1, 0, 1
        
            scatter()
                x, y:数据点的 x 和 y 坐标。
    
                s:散点的大小,可以是一个标量,也可以是一个数组,用来指定每个散点的大小。默认为 20。
                
                c:散点的颜色,可以是单个颜色,也可以是与 x 和 y 具有相同长度的颜色序列。默认为 None,表示使用默认的颜色。
                
                marker:散点的标记样式,如 'o' 表示圆形,'^' 表示三角形,'s' 表示正方形等。默认为 'o'。
                
                cmap:指定颜色映射,仅当 c 是一个浮点数数组时才有用。可以是一个 Colormap 对象或者 Colormap 名称的字符串。默认为 None
3.bar():用于绘制垂直条形图和水平条形图
4.hist():用于绘制直方图 histogram
5.pie():用于绘制饼图    
    ax.pie(np.random.random(4),explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90,radius=0.25,center=(0,0))
6.imshow():用于绘制图像
7.subplots():用于创建子图 
    nrows:整数,表示子图网格的行数。
    ncols:整数,表示子图网格的列数。
    index:整数,表示当前激活的子图的位置编号,编号从1开始,从左到右、从上到下递增。


8.plt.figure()   是 Matplotlib 中用于创建新图形的函数。它的作用是创建一个新的图形窗口,以便在其中绘制图表   plt.figure(figsize=(8, 6), facecolor='lightblue')
        # 获取当前图形的当前轴对象
        ax = fig.gca()
        # 在轴对象上进行操作,例如绘制图形
        ax.plot([1, 2, 3, 4], [1, 4, 9, 16])
        ax.set_xlabel(), ax.set_ylabel() 等方法设置轴的标签。
        set_xlim(xmin, xmax) 方法用于设置x轴的最小值和最大值
        ax.set_aspect('equal')      #ax.set_aspect('equal') 确保了坐标轴在水平方向和垂直方向上的比例是相同的,即每个单位长度的像素数量是相等的。

案例:

案例一: 绘制折线图

myfont=fm.FontProperties(fname=r'C:\Windows\Fonts\STKAITI.ttf')  #设置字体
t=np.arange(0,2.0*np.pi,0.01)
s=np.sin(t)
z=np.cos(t)

xpoints = np.array([0, 5])
ypoints = np.array([0, 100])

plt.plot(t, s,label='正弦',color='#096')# 绘图
plt.plot(t,z,label='余弦')

plt.xlabel('x-变量',fontproperties='STKAITI',fontsize=10)
plt.ylabel('y-正弦余弦函数值',fontproperties='STKAITI',fontsize=10)
plt.title('sin-cos 函数图像',fontproperties='STKAITI',fontsize=10)

plt.legend(prop=myfont)  #图例
plt.show()

案例二:绘制散点图

a=np.arange(0,2*np.pi,0.1)
b=np.cos(a)
plt.scatter(a,b)
plt.show()

案例三:绘制星型散点图

x=np.random.random(100)
y=np.random.random(100)

plt.figure()
plt.scatter(x,y,s=x*500,marker='*')
plt.show()

案例四:绘制饼状图

labels='Frogs','Hogs','Dogs','Logs'  #标签,逆时针绘制扇形图
sizes=[15,30,45,10]
colors=['yellowgreen','gold','#FF0000','lightcoral']
explode=(0,0.1,0,0.1)

fig=plt.figure(figsize=(8,9))
ax=fig.gca()     #获取轴域

ax.pie(np.random.random(4),explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90,radius=0.25,center=(0,0))
ax.pie(np.random.random(4),explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90,radius=0.25,center=(1,1))
ax.pie(np.random.random(4),explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90,radius=0.25,center=(0,1))
ax.pie(np.random.random(4),explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90,radius=0.25,center=(1,0))

ax.set_xticks([0,1])  #设置显示刻度的位置
ax.set_yticks([0,1])

ax.set_xticklabels(["Sunny","Cloudy"])  #设置刻度上显示的文本
ax.set_yticklabels(["Dry","Rainy"])
ax.set_xlim((-0.5,1.5))
ax.set_ylim((-0.5,1.5))
ax.set_aspect('equal')      #ax.set_aspect('equal') 确保了坐标轴在水平方向和垂直方向上的比例是相同的,即每个单位长度的像素数量是相等的。

plt.show()

案例五:在图例中显示公式

在图例中显示公式
x=np.linspace(0,2*np.pi,500)
y=np.sin(x)
z=np.cos(x*x)
plt.figure(figsize=(8,4))

plt.plot(x,y,label='$sin(x)$',color='red',linewidth=2)    #红色  2像素宽
#$ 将其显示为公式 $
plt.plot(x,z,'b--',label='$cos(x^2)$')                    #蓝色  虚线

plt.xlabel('Time(s)')
plt.ylabel('Volt')

plt.title('sin and cos figure using  pyplot')

plt.ylim(-1.2,1.2)
plt.legend()       #显示图示

plt.show()

案例六:生成子图

x=np.linspace(0,2*np.pi,500)
y1=np.sin(x)
y2=np.cos(x)
y3=np.sin(x*x)
plt.figure(1)
ax1=plt.subplot(2,2,1)
ax2=plt.subplot(2,2,2)
ax3=plt.subplot(212,facecolor='y')

plt.sca(ax1)  #选择ax1
plt.plot(x,y1,color='red')#绘制红色曲线
plt.ylim(-1.2,1.2)

plt.sca(ax2)
plt.plot(x,y2,'b--') #绘制蓝色曲线
plt.ylim(-1.2,1.2)

plt.sca(ax3)
plt.plot(x,y3,'g--')
plt.ylim(-1.2,1.2)

plt.show()

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

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

相关文章

前端vue后端java使用easyexcel框架下载表格xls数据工具类

一 使用alibaba开源的 easyexcel框架&#xff0c;后台只需一个工具类即可实现下载 后端下载实现 依赖 pom.xml <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependen…

昇思25天学习打卡营第12天|FCN图像语义分割

文章目录 昇思MindSpore应用实践基于MindSpore的FCN图像语义分割1、FCN 图像分割简介2、构建 FCN 模型3、数据预处理4、模型训练自定义评价指标 Metrics 5、模型推理结果 Reference 昇思MindSpore应用实践 本系列文章主要用于记录昇思25天学习打卡营的学习心得。 基于MindSpo…

机械键盘有哪些分类

机械键盘是一种比传统的薄膜键盘更耐用、更快捷、更具有手感的键盘。它的键帽和按键是独立的&#xff0c;能够提供更好的反应速度和操作感。机械键盘在现代化生活中得到了广泛的应用。根据其特性和使用场景&#xff0c;机械键盘可以分为以下几类&#xff1a; 1.轴体分类 机械…

永磁同步电机控制算法--最大转矩电流比控制(虚拟信号注入法)

目前&#xff0c;国内外相关学者对 MTPA 控制方法进行了一系列的理论研究与仿真分析。通过研究取得的成果综合来看&#xff0c;该控制方法主要有&#xff1a;直接公式计算法、曲线拟合法、查表法、搜索法、高频信号注入法以及参数辨识法等。 之前的文章中已经介绍了直接公式计…

柯桥小语种学校成人生活口语学习|西班牙语中H为什么不发音…

01 H en el alfabeto espaol 西语字母表中的h 字母H是唯一一个在标准西班牙语中不再代表任何音素的字母。尽管在它单独出现时被叫做HACHE&#xff0c;但在大多数单词拼写中&#xff0c;它只是一个没有声音对应关系的字母&#xff0c;因此RAE称其为“无声的H”&#xff08;hac…

昇思25天学习打卡营第4天|MindSpore数据集和数据变换

# 打卡 目录 # 打卡 Dateset&#xff1a;Pipeline 的起始 具体步骤 数据处理 Pipeline 代码例子 内置数据集的情况 自定义数据集的情况 可迭代的数据集 生成器 Transforms&#xff1a;数据预处理 代码例子 通用变换Compose 文本变换 Text Lambda变换 Dateset&…

ExtruOnt——为工业 4.0 系统描述制造机械类型的本体

概述 论文地址 &#xff1a;https://arxiv.org/abs/2401.11848 原文地址&#xff1a;https://ai-scholar.tech/articles/ontology/ExtruOnt 在工业 4.0 应用场景中&#xff0c;以机器可解释代码提供的、语义丰富的制造机械描述可以得到有效利用。然而&#xff0c;目前显然还缺…

【开源项目】LocalSend 局域网文件传输工具

【开源项目】LocalSend 局域网文件传输工具 一个免费、开源、跨平台的局域网传输工具 LocalSend 简介 LocalSend 是一个免费的开源跨平台的应用程序&#xff0c;允许用户在不需要互联网连接的情况下&#xff0c;通过本地网络安全地与附近设备共享文件和消息。 项目地址&…

​RAG与LLM原理及实践(8)--- Chroma 应用场景及限制

前言 通过前面几节的介绍&#xff0c;你应该对Chroma的运作原理有相当透彻的理解。Chroma的设计正如之前描述的&#xff1a; Chroma提供的工具&#xff1a; 存储文档数据和它们的元数据&#xff1a;store embeddings and their metadata 嵌入&#xff1a;embed documents an…

.mkp勒索病毒:深度解析与防范

引言&#xff1a; 在数字化时代&#xff0c;网络安全问题日益严峻&#xff0c;其中勒索病毒作为一种极具破坏性的恶意软件&#xff0c;严重威胁着个人用户和企业机构的数据安全。在众多勒索病毒家族中&#xff0c;.mkp勒索病毒以其强大的加密能力和广泛的传播方式&#xff0c;成…

Amesim中删除计算结果保存计算文件

前言 Amesim在工程应用中计算的结果文件有时会很大&#xff0c;为了节省电脑存储空间&#xff0c;项目结束后可以将计算结果删除进行保存以存档。 操作步骤 具体操作步骤如下&#xff1a; Step1&#xff1a;在①File下打开&#xff08;Open&#xff09;需要删除计算结果的项…

PyQt5开发笔记:2. 2D与3D散点图、水平布局和边框修饰

一、装pyqtgraph和PyOpenGL库 pip install pyqtgraph pip install PyOpenGL 注意&#xff1a;一定不要pip install OpenGL&#xff0c;否则会找不到 二、3D散点图效果 import pyqtgraph as pg import pyqtgraph.opengl as gl import numpy as np# 创建应用程序 app pg.mkQ…

《机器学习》读书笔记:总结“第4章 决策树”中的概念

&#x1f4a0;决策树 基于树结构进行决策。 一棵决策树包括&#xff1a; 一个 根节点&#xff08;起点&#xff09;若干 叶节点&#xff08;没有下游节点的节点&#xff09;若干 内部节点(分支节点) 即&#xff1a; #mermaid-svg-Mxe3d0kNg29PM2n8 {font-family:"treb…

leetcode每日一题-3101 交替子数组计数

暴力遍历&#xff1a;看起来像是回溯,实际上就是递归 class Solution { private:long long _res 0; public:long long countAlternatingSubarrays(vector<int>& nums) {backtrack(nums, 0);return _res;}void backtrack(vector<int>& nums, long long st…

黑马|最新AI+若依 |初识项目

本章主要内容是&#xff1a; 1.快速搭建了若依前后端项目在本地 2.实现了单表的增删改查快速生成 文章目录 介绍1.若依介绍2.若依的不同版本3.项目运行环境 初始化前后端项目1.下载若依项目2.初始化后端a.把表导入到数据库中b.更改application.yml文件 3.初始化前端a.安装依赖…

【游戏引擎之路】登神长阶(六)——雅达利2600汇编学习,任天堂居然还真不是抄袭起家

5月20日-6月4日&#xff1a;攻克2D物理引擎。 6月4日-6月13日&#xff1a;攻克《3D数学基础》。 6月13日-6月20日&#xff1a;攻克《3D图形教程》。 6月21日-6月22日&#xff1a;攻克《Raycasting游戏教程》。 6月23日-7月1日&#xff1a;攻克《Windows游戏编程大师技巧》。 7…

基于海思Hi3403V100方案开发双目1600万拼接相机测试截图

海思Hi3403V100平台SOC内置四核A55&#xff0c;提供高效且丰富和灵活的CPU资源&#xff0c;以满足客户计算和控制需求&#xff0c;并且集成单核MCU&#xff0c;已满足一些低延时要求较高场景。 多目相机PE108CB板是针对该芯片设计的一款多目凭借相机PCBA&#xff0c;硬件接口支…

node.js_HTTP协议

Hypertext Transfer Protocol 超文本传输协议 1.HTTP报文 请求行 请求头 请求体 它的内容形式很灵活&#xff0c;可以设置任意内容 2.HTTP响应报文 响应状态码 响应状态的描述 遇到陌生的状态码可以参考一下这个网址&#xff1a; https://developer.mozilla.org/zh-C…

期末成绩发布方式

期末考试结束后&#xff0c;成绩单的发放总是让老师们头疼不已。想象一下&#xff0c;每个学生的成绩都需要老师一个个私信给家长&#xff0c;不仅耗时耗力&#xff0c;而且极易出错。 在传统的成绩单发放方式中&#xff0c;老师往往需要通过电子邮件、短信或者微信等方式&…

python爬虫入门(一)之HTTP请求和响应

一、爬虫的三个步骤&#xff08;要学习的内容&#xff09; 1、获取网页内容 &#xff08;HTTP请求、Requests库&#xff09; 2、解析网页内容 &#xff08;HTML网页结构、Beautiful Soup库&#xff09; 3、存储或分析数据 b站学习链接&#xff1a; 【【Python爬虫】爆肝两…