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,步长为 2plt.yticks([-1, 0, 1])  # 设置 y 轴刻度为 -1, 0, 1scatter()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()

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

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

相关文章

YoloV8改进策略:Block改进|轻量实时的重参数结构|最新改进|即插即用(全网首发)

摘要 本文使用重参数的Block替换YoloV8中的Bottleneck,GFLOPs从165降到了116,降低了三分之一;同时,map50-95从0.937涨到了0.947。 改进方法简单,只做简单的替换就行,即插即用,非常推荐&#xf…

C++_STL---list

list的相关介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 list的底层是带头双向循环链表结构,链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。…

IDEA与通义灵码的智能编程之旅

1 概述 本文主要介绍在IDEA中如何安装和使用通义灵码来助力软件编程,从而提高编程效率,创造更大的个人同企业价值。 2 安装通义灵码 2.1 打开IDEA插件市场 点击IDEA的设置按钮,下拉选择Plugins,如下: 2.2 搜索通义灵码 在搜索框中输入“通义灵码”,如下: 2.3 安…

使用ifconfig命令获取当前服务器的内网IP地址

如何使用ifconfig命令获取当前服务器的内网IP地址呢? ifconfig eth0 | grep inet | awk {print $2}

什么是五级流水?银行眼中的“好流水”,到底是什么样的?

无论是按揭买房还是日常贷款,银行流水都是绕不开的一环。规划好你的流水,不仅能让你在申请贷款时更有底气,还可能帮你省下不少冤枉钱。今天,咱们就来一场深度剖析,聊聊如何在按揭贷款、个人经营抵押贷款前,…

代码随想录 数组部分+代码可在本地编译器运行

代码随想录 数组部分,代码可在本地编译器运行 文章目录 数组理论基础704.二分查找题目:思路二分法第一种写法二分法第二种写法 代码 27.移除元素题目:思路-双指针法代码 977.有序数组的平方题目思路-双指针代码 209.长度最小的子数组题目&am…

ChatGPT4深度解析:探索智能对话新境界

大模型chatgpt4分析功能初探 目录 1、探测目的 2、目标变量分析 3、特征缺失率处理 4、特征描述性分析 5、异常值分析 6、相关性分析 7、高阶特征挖掘 1、探测目的 1、分析chat4的数据分析能力,提高部门人效 2、给数据挖掘提供思路 3、原始数据&#xf…

科研绘图系列:R语言径向柱状图(Radial Bar Chart)

介绍 径向柱状图(Radial Bar Chart),又称为雷达图或蜘蛛网图(Spider Chart),是一种在极坐标系中绘制的柱状图。这种图表的特点是将数据点沿着一个或多个从中心向外延伸的轴来展示,这些轴通常围绕着一个中心点均匀分布。 特点: 极坐标系统:数据点不是在直角坐标系中展…

【后端面试题】【中间件】【NoSQL】MongoDB查询优化3(拆分、嵌入文档,操作系统)

拆分大文档 很常见的一种优化手段,在一些特定的业务场景中,会有一些很大的文档,这些文档有很多字段,而且有一些特定的字段还特别的大。可以考虑拆分这些文档 大文档对MongoDB的性能影响还是很大的,就我个人经验而言&…

ASCII码对照表【2024年汇总】

🍺ASCII相关文章汇总如下🍺: 🎈ASCII码对照表(255个ascii字符汇总)🎈🎈ASCII码对照表(Unicode 字符集列表)🎈🎈ASCII码对照表&#x…

Day05-04-持续集成总结

Day05-04-持续集成总结 1. 持续集成2. 代码上线目标项目 1. 持续集成 git 基本使用, 拉取代码,上传代码,分支操作,tag标签 gitlab 用户 用户组 项目 , 备份,https,优化. jenkins 工具平台,运维核心, 自由风格工程,maven风格项目,流水线项目, 流水线(pipeline) mavenpom.xmlta…

【瑞数补环境实战】某网站Cookie补环境与后缀分析还原

文章目录 1. 写在前面2. 特征分析3. 接口分析3. 补JS环境4. 补后缀参数 【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走…

二分查找2

1. 山脉数组的峰顶索引&#xff08;852&#xff09; 题目描述&#xff1a; 算法原理&#xff1a; 根据题意我们可以将数组分为两个部分&#xff0c;一个部分是arr[mid-1]<arr[mid]&#xff0c;另一个部分为arr[mid-1]>arr[mid]&#xff0c;此时不难发现我们可以将二分…

Flink,spark对比

三&#xff1a;az 如何调度Spark、Flink&#xff0c;MR 任务 首先&#xff0c;使用java编写一个spark任务&#xff0c;定义一个类&#xff0c;它有main方法&#xff0c;里面写好逻辑&#xff0c;sparkConf 和JavaSparkContext 获取上下文&#xff0c;然后打成一个jar包&#xf…

数据结构——二叉树相关题目

1.寻找二叉树中数值为x的节点 //寻找二叉树中数值为x的节点 BTNode* TreeFind(BTNode* root, BTDataType x)//传过来二叉树的地址和根的地址&#xff0c;以及需要查找的数据 {if (root Null){return Null;}//首先需要先判断这个树是否为空&#xff0c;如果为空直接返回空if (…

【JavaWeb程序设计】JSP实现购物车功能

目录 一、结合之前所学的相关技术&#xff0c;编写代码实现以下购物车功能 1. 我实现的功能运行截图如下 &#xff08;1&#xff09;商品列表页面home.jsp &#xff08;2&#xff09;登录账号页面/未登录点击结账页面 &#xff08;3&#xff09;重新登录页面&#xff08;记…

昇思25天学习打卡营第18天|ShuffleNet图像分类

一、简介&#xff1a; ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型&#xff0c;和MobileNet, SqueezeNet等一样主要应用在移动端&#xff0c;所以模型的设计目标就是利用有限的计算资源来达到最好的模型精度。ShuffleNetV1的设计核心是引入了两种操作&#xff1a;Poin…

如何在centos7安装Docker

在centOS7中我们可以使用火山引擎镜像源镜像安装Docker,以下是具体的安装步骤。 step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils Step 2: 添加软件源信息 sudo yum-config-manager --add-repo https://mirrors.ivolces.com/docker/linux/centos/docker-ce.r…

力扣双指针算法题目:二叉树的层序遍历(BFS)

目录 1.题目 2.思路解析 3.代码 1.题目 . - 力扣&#xff08;LeetCode&#xff09; 2.思路解析 对二叉树进行层序遍历&#xff0c;顾名思义&#xff0c;就是按每一层的顺序对二叉树一层一层地进行遍历 思路如下 从第一层开始&#xff0c;先将二叉树地头放入队列q&#xff0…

2007-2022年中国各企业数字化转型与供应链效率

企业数字化转型与供应链效率是现代企业管理和发展的两个关键方面。以下是对中国各企业数字化转型与供应链效率数据的介绍&#xff1a; 数据简介 企业数字化转型&#xff1a;指企业通过采用数字技术与创新方法&#xff0c;改造业务流程、组织结构和产品服务&#xff0c;以提升…