百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

「工资翻三倍」系列:python教程-matplotlib库的初步使用

yuyutoo 2025-02-28 17:54 1 浏览 0 评论

Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。可以用来绘制各种静态,动态,交互式的图表。

Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API,是常用的绘图模块,能很方便让用户绘制 2D 图表。

包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改,例如:给图像加上标记,生新的图像,在图像中产生新的绘图区域等等。

使用的时候,需要导入:

import matplotlib.pyplot as plt

以下实例,我们通过两个坐标 (0,60) 到 (0,100) 来绘制一条线:

import matplotlib.pyplot as plt 
#导入matplotlib库
import numpy as np 
#导入numpy库(通常与matplotlib库一起使用,是一个强大的科学计算环境,学习数据分析与机器学习大有用处)


x_points = np.array([0, 60]) 
#设置X轴的坐标
y_points = np.array([0, 100]) 
#设置Y轴的坐标


plt.plot(x_points, y_points) 
#使用了 Pyplot 的 plot() 函数绘制二维图形。
plt.show() 
#别忘记让图片显示出来

plot() 用于画图它可以绘制点和线,语法格式如下:

# 画单条线

plot([x], y, [fmt], *, data=None, **kwargs)

# 如果画多条线

plot([x], y, [fmt], [x1], y1, [fmt1], ..., **kwargs)

x, y:点或线的节点,x 为 x 轴数据,y 为 y 轴数据,数据可以列表或数组。

fmt:可选,定义基本格式(如颜色、标记和线条样式)。

**kwargs:可选,用在二维平面图上,设置指定属性,如标签,线的宽度等。

>>> plot(x, y) # 创建 y 中数据与 x 中对应值的二维线图,使用默认样式

>>> plot(x, y, 'bo') # 创建 y 中数据与 x 中对应值的二维线图,使用蓝色实心圈绘制

>>> plot(y) # x 的值为 0..N-1

>>> plot(y, 'r+') # 使用红色 + 号

线型参数:'‐' 实线,'‐‐' 破折线,'‐.' 点划线,':' 虚线。
标记字符:'.' 点标记,',' 像素标记(极小点),'o' 实心圈标记,'v' 倒三角标记,'^' 上三角标记,'>' 右三角标记,'<' 左三角标记...等等。

如果我们要绘制坐标 (2, 3) 到 (9, 11) 的线,我们就需要传递两个数组 [2, 9] 和 [3, 11] 给 plot 函数:

import matplotlib.pyplot as plt
import numpy as np 


x_points = np.array([2, 9])
y_points = np.array([3, 11])


plt.plot(x_points, y_points)
plt.show()

如果只是想绘制2个点,不需要连线,可以加入'o'参数,将上面代码plt.plot(x_points, y_points)改为plt.plot(x_points, y_points,'o')即可:

也可以绘制多点线图,将其中代码改为:

x_points = np.array([1, 2, 6, 8]) 
y_points = np.array([3, 8, 1, 10])

可得到如下结果:

以下代码可以得到正弦值曲线:

import matplotlib.pyplot as pltimport numpy as npx = np.arange(0,4*np.pi,0.1)#start,stop,step
y = np.sin(x)
z = np.cos(x)
plt.plot(x,y,x,z)
plt.show()



将其中plt.plot(x,y,x,z)修改为plt.plot(x,y,x,z,'o:r')将得到下面图形:



'o:r'中:o 表示实心圆标记,: 表示虚线,r 表示颜色为红色。

请尝试将以上代码改为:

plt.plot(x,y,x,z,'o:r',ms=20,mec='black',mfc='b')

看看效果怎么样?(以上实例在python3环境运行完成调试)

想一想:为什么只有一根曲线受到参数的影响呢?

相关推荐

网站建设:从新手到高手

现代化网站应用领域非常广泛,从个人形象网站展示、企业商业网站运作、到政府公益等服务网站,各行各业都需要网站建设。大体上可以归结四类:宣传型网站设计、产品型网站制作、电子商务型网站建设、定制型功能网站开...

JetBrains 推出全新 AI 编程工具 Junie,助力高效开发

JetBrains宣布推出名为Junie的全新AI编程工具。这款工具不仅能执行简单的代码生成与检查任务,还能应对编写测试、验证结果等复杂项目,为开发者提供全方位支持。根据SWEBench...

AI也能写代码!代码生成、代码补全、注释生成、代码翻译轻松搞定

清华GLM技术团队打造的多语言代码生成模型CodeGeeX近期更新了新的开源版本「CodeGeeX2-6B」。CodeGeeX2是多语言代码生成模型CodeGeeX的第二代模型,不同于一代CodeG...

一键生成前后端代码,一个36k星的企业级低代码平台

「企业级低代码平台」前后端分离架构SpringBoot2.x,SpringCloud,AntDesign&Vue,Mybatis,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任...

Gitee 代码托管实战指南:5 步完成本地项目云端同步(附避坑要点)

核心流程拆解:远程仓库的搭建登录Gitee官网(注册账号比较简单,大家自行操作),点击“新建仓库”,建议勾选“初始化仓库”和“设置模板文件”(如.gitignore),避免上传临时文件。...

jeecg-boot 源码项目-强烈推荐使用

JEECGBOOT低代码开发平台...

JetBrains推出全新AI编程工具Junie,强调以开发者为中心

IT之家2月1日消息,JetBrains发文,宣布推出一款名为Junie的全新AI编程工具,官方声称这款AI工具既能执行简单的代码生成与检查等基础任务,也能应对“编写测试、验证结...

JetBrains旗下WebStorm和Rider现已加入“非商用免费”阵营

IT之家10月25日消息,软件开发商JetBrains今日宣布,旗下WebStorm(JavaScript开发工具)和Rider(.NET开发工具)现已加入“非商用免费”阵营。如果...

谈谈websocket跨域

了解websocketwebsocket是HTML5的新特性,在客户端和服务端提供了一个基于TCP连接的双向通道。...

websocket调试工具

...

利用webSocket实现消息的实时推送

1.什么是webSocketwebSocket实现实现推送消息WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。以前的推送技术使用Ajax轮询,浏览器需...

Flutter UI自动化测试技术方案选型与探索

...

为 Go 开发的 WebSocket 库

#记录我的2024#...

「Java基础」Springboot+Websocket的实现后端数据实时推送

这篇文章主要就是实现这个功能,只演示一个基本的案例。使用的是websocket技术。...

【Spring Boot】WebSocket 的 6 种集成方式

介绍...

取消回复欢迎 发表评论: