jjzjj

Python Matplotlib库绘制曲线图 最快入门教程(最详细最简单)

北岛寒沫 2023-09-02 原文

文章目录

1.导入Matplotlib库

import matplotlib.pyplot as plt

2.最常用的绘图函数plot

# 语法:plot(横坐标数组1,纵坐标数组1,绘图风格1...)
# 语法解释:plot函数可以通过多组横纵坐标数组和绘图风格同时绘制多条曲线
# 绘图风格包括三个部分:曲线的颜色、曲线的线风格和坐标点的风格。
# 绘图风格用一个字符串表示,也可以省略不写

# 绘图风格的组成:颜色+线风格+坐标点风格
# 常用的颜色字符:b蓝色 g绿色 r红色 y黄色 k黑色 w白色
# 常用的线风格字符:-实线 --破折线 -.点划线 :虚线 ‘’无线条
# 常用的点风格字符:.点标记 ,极小点 o实心圆 v倒三角
x=[1,2,3,4,5]
y=[1,4,9,16,25]
plot(x,y,"r:o")

3.展示绘制完成的图像

# 使用show函数展示程序绘制的图像
# 语法:plt.show()
a=[1,2,3,4,5]
b=[5,4,3,2,1]
plot(a,b)
plt.show()

4.保存绘制的图像

# 使用savefig函数保存程序作出的图像
# 语法:plt.savefig(文件名,dpi=图像质量)
plt.savefig("NewPicture",dpi=600)

5.分割子绘图区域

# 使用sublot函数分割原始绘图区域
# 语法:plt.subplot(行数,列数,当前绘图区编号)
plt.subplot(2,2,4)
a=[1,2,3,4,5]
b=[5,4,3,2,1]
plot(a,b)

6.设置横纵轴的坐标轴名称

# 使用xlabel函数和ylabel函数设置横纵坐标轴的名称
# 语法:plt.xlabel/ylabel(坐标轴名)
plt.xlabel("x")
plt.ylabel("sin(x)")

7.设置图像名称

# 使用title函数设置绘制出的图像的名称
# 语法:plt.title(图像名称)
plt.title("TestPicture")

8.让图像中可以出现中文的设置

# 方法1:使用rcParams设置全局字体
# 常用的字体名字:Simhei(黑体) Kaiti(楷体) Lisu(隶书) STSong(宋体)
import matplotlib
matplotlib.rcParams["font.family"]=字体名字

# 方法2:使用fontproperties属性设置局部字体(推荐方法)
# 该方法是指在需要输出中文的函数中将该属性设置为指定字体
plt=xlabel("中文的横坐标",fontproperties="Simhei")
plt=ylabel("中文的纵坐标",fontproperties="Simhei")

9.向图像指定位置处插入文本

# 使用text函数向图像中指定区域插入文本
# 语法:plt.text(横坐标,纵坐标,文本字符串)
plt.text(30,30,"InsertText")

10.固定图像中横纵坐标的取值范围

# 使用axis函数固定绘制的图像中横纵坐标的取值范围
# 语法:plt.axis([横轴最小值,横轴最大值,纵轴最小值,纵轴最大值])
plt.axis([-2,2,-1,1])

11.为绘制出的图像设置网格线

# 使用grid函数为图像设置网格线
# 语法:plt.grid(True)
plt.grid(True)

12.设置图例

# 使用legend函数为图像设置图例(一般用于在一个图像中画多条曲线)
# 语法:plt.legend(绘制的曲线构成的列表,曲线名称列表,loc=位置)
x=np.arange(10)
y1=x*x
y2=x*2
# 注意:必须要先用变量记录作出的线且变量要以英文逗号结尾,然后再使用legend函数
line1,=plt.plot(x,y1)
line2,=plt.plot(x,y2)
plt.legend([line1,line2],["第一条线","第二条线"],loc="upper right")

13.Matplotlib默认参数设置

备注:这一部分一般的绘图中常常不必使用。

# 使用plt.rcParams设置默认参数

# 使用plt.rcParams["figure.figsize"]设置图像大小
# 语法:plt.rcParams["figure.figsize"]=(长度,宽度)
plt.rcParams["figure.figsize"]=(5,3)

14.绘制散点图

在Matplotlib中,scatter函数用于绘制散点图。它的基本语法如下:

plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None, **kwargs)

参数解释如下

  • x, y:数组类型,分别表示散点图的x轴和y轴数据。
  • s:标量或数组类型,用于指定散点的大小,可以是一个数值或一个与x和y等长的数组。
  • c:颜色,可以是一个表示颜色的字符串,如’r’表示红色,也可以是一个与x和y等长的数组,用于根据数值大小给每个点指定不同的颜色。
  • marker:指定散点的形状,如圆圈、正方形、三角形等。
  • cmap:颜色映射,用于将数值映射为颜色。
  • norm:颜色标准化对象。
  • vmin, vmax:cmap的范围,用于控制颜色的显示范围。
  • alpha:透明度,表示散点的透明度,0表示完全透明,1表示不透明。
  • linewidths:散点边界线的宽度。
  • edgecolors:散点边界线的颜色。

除了上述参数外,还可以使用其他参数来控制图形的各个方面,如图形的大小、坐标轴标签等。

以下是一个示例代码,演示如何使用scatter函数绘制散点图:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
x = np.random.rand(50)
y = np.random.rand(50)
colors = np.random.rand(50)

# 绘制散点图
plt.scatter(x, y, s=100, c=colors, alpha=0.5)

# 设置图形标题和坐标轴标签
plt.title('Scatter Plot')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')

# 显示图形
plt.show()

该代码将生成一个包含50个随机点的散点图,每个点的大小为100,颜色随机,透明度为0.5。

有关Python Matplotlib库绘制曲线图 最快入门教程(最详细最简单)的更多相关文章

  1. ruby - 简单获取法拉第超时 - 2

    有没有办法在这个简单的get方法中添加超时选项?我正在使用法拉第3.3。Faraday.get(url)四处寻找,我只能先发起连接后应用超时选项,然后应用超时选项。或者有什么简单的方法?这就是我现在正在做的:conn=Faraday.newresponse=conn.getdo|req|req.urlurlreq.options.timeout=2#2secondsend 最佳答案 试试这个:conn=Faraday.newdo|conn|conn.options.timeout=20endresponse=conn.get(url

  2. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  3. ruby-on-rails - 简单的 Ruby on Rails 问题——如何将评论附加到用户和文章? - 2

    我意识到这可能是一个非常基本的问题,但我现在已经花了几天时间回过头来解决这个问题,但出于某种原因,Google就是没有帮助我。(我认为部分问题在于我是一个初学者,我不知道该问什么......)我也看过O'Reilly的RubyCookbook和RailsAPI,但我仍然停留在这个问题上.我找到了一些关于多态关系的信息,但它似乎不是我需要的(尽管如果我错了请告诉我)。我正在尝试调整MichaelHartl'stutorial创建一个包含用户、文章和评论的博客应用程序(不使用脚手架)。我希望评论既属于用户又属于文章。我的主要问题是:我不知道如何将当前文章的ID放入评论Controller。

  4. ruby - 使用 Ruby 通过 Outlook 发送消息的最简单方法是什么? - 2

    我的工作要求我为某些测试自动生成电子邮件。我一直在四处寻找,但未能找到可以快速实现的合理解决方案。它需要在outlook而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。显然win32ole可以做到这一点,但我找不到任何相当简单的例子。 最佳答案 假设存储了Outlook凭据并且您设置为自动登录到Outlook,WIN32OLE可以很好地完成此操作:require'win32ole'outlook=WIN32OLE.new('Outlook.Application')message=

  5. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  6. postman——集合——执行集合——测试脚本——pm对象简单示例02 - 2

    //1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json

  7. Qt Designer的简单使用 - 2

    在前面两节的例子中,主界面窗口的尺寸和标签控件显示的矩形区域等,都是用C++代码编写的。窗口和控件的尺寸都是预估的,控件如果多起来,那就不好估计每个控件合适的位置和大小了。用C++代码编写图形界面的问题就是不直观,因此Qt项目开发了专门的可视化图形界面编辑器——QtDesigner(Qt设计师)。通过QtDesigner就可以很方便地创建图形界面文件*.ui,然后将ui文件应用到源代码里面,做到“所见即所得”,大大方便了图形界面的设计。本节就演示一下QtDesigner的简单使用,学习拖拽控件和设置控件属性,并将ui文件应用到Qt程序代码里。使用QtDesigner设计界面在开始菜单中找到「Q

  8. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  9. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  10. 微信小程序开发入门与实战(Behaviors使用) - 2

    @作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors    1、什么是behaviors    2、behaviors的工作方式    3、创建behavior    4、导入并使用behavior    5、behavior中所有可用的节点    6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors    1、什么是behaviorsbehaviors是小程序中,用于实现

随机推荐