Matplotlib绘图(二)

2023-11-08

目录

Matplotlib(二)

绘制一元二次方程的曲线y=x^2

绘制正弦曲线和余弦曲线

subplot函数

散点图

Matplotlib(二)

绘制一元二次方程的曲线y=x^2

Matplotlib有很多函数用于绘制各种曲线,其中plot函数用于曲线,需要将200个点的x坐标和y坐标分别以序列的形式传入plot函数,然后调用show函数显示绘制的图形:一元二次方程曲线

一元二次方程的曲线

# 导入matplotlib模块
import matplotlib.pyplot as plt
# 准备x y
x=range(-100,100)
y=[i**2 for i in x]
# 绘制一元二次方程曲线
plt.plot(x,y)
# 保存图片
plt.savefig("result.jpg")
plt.show()

图示:

 

绘制正弦曲线和余弦曲线

使用plt函数绘制任何曲线的第一步都是生成若干个坐标的(x,y),理论上坐标点是越多越好。本例取0-10之间100个等差数作为x的坐标,然后将这100个x坐标值一起传入Numpy的sin和cos函数,就会得到100个y坐标值,最后就可以使用plot函数绘制正弦函数和余弦函数。

正弦函数和余弦函数曲线

# 导入matplotlib和numpy模块
from matplotlib import pyplot as plt
import numpy as np
# 生成0-10之间 100个等差数
x=np.linspace(0,10,100)
sin_y=np.sin(x)
cos_y=np.cos(x)
# 进行绘制正弦曲线
plt.plot(x, sin_y)
# 进行绘制余弦曲线
plt.plot(x,cos_y)
plt.show()

图示:

 

subplot函数

上面的示例可以看到,调用两次plot函数,会将sin和cos函数曲线绘制到同一个二维坐标系中,如果想要绘制到两张画布上,可以调用subplot()函数将画布分区。

subplot(n,m,i)函数:将画布分成n行m列,将图形画到画布的i区域。

将画布分为区域,将图画到画布的指定区域

xlim、ylim函数:修改x,y轴的坐标。

# 导入模块
from matplotlib import pyplot as plt
import numpy as np
# 创建0-10中100个等差数
x=np.linspace(0,10,100)
sin_y=np.sin(x)
# 绘制正弦曲线
# 对画布进行分区,将画布分成2行2列 画到区1
plt.subplot(2,2,1)
# 修改x,y轴的坐标
plt.xlim(-5,20)
plt.ylim(-1,2)
plt.plot(x,sin_y)
# 对画布进行分区,将画布分成2行2列 画到区3
plt.subplot(2,2,3)
plt.plot(x,np.cos(x))
plt.show()

图示:

 

散点图

使用scatter函数可以绘制随机点,该函数需要接收x坐标和y坐标的序列。

sin函数的散点图

# 导入模块
from matplotlib import pyplot as plt
import numpy as np
# 生成0-10之间100个等差数
x=np.linspace(0,10,100)
sin_y=np.sin(x)
# 绘制正弦曲线散点图
#plt.scatter(x,sin_y)
plt.plot(x,sin_y,'o')   # 'o'表示点
plt.show()

图示:

 

从上面的示例可以看出,使用plot绘制和使用scatter绘制出来的图形是没有区别的, 但是使用plot绘制图形的速度优于scatter,所有如果画一堆点,而且点的形式没有差别, 那么我们使用plot,如果点的形式有差别(指点的大小和颜色不同)则必须使用scatter

绘制100种不同大小、颜色的散点图

# 导入模块
from matplotlib import pyplot as plt
import numpy as np
# 绘制100种大小 100种颜色的散点图
# 创建x
np.random.seed(0)   # 执行多次每次获取的随机数都是一样的
x=np.random.rand(100)
y=np.random.rand(100)
print(x)
print(y)
# 生成10种大小
size=np.random.rand(100)*1000
# 生成100种颜色
color=np.random.rand(100)
# 绘制散点图
plt.scatter(x,y,c=size,s=color) # s表示点的大小 c表示点的颜色
plt.show()

图示:

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matplotlib绘图(二) 的相关文章

  • Django REST序列化器:创建对象而不保存

    我已经开始使用 Django REST 框架 我想做的是使用一些 JSON 发布请求 从中创建一个 Django 模型对象 然后使用该对象而不保存它 我的 Django 模型称为 SearchRequest 我所拥有的是 api view
  • 如何在刻度标签和轴之间添加空间

    我已成功增加刻度标签的字体 但现在它们距离轴太近了 我想在刻度标签和轴之间添加一点呼吸空间 如果您不想全局更改间距 通过编辑 rcParams 并且想要更简洁的方法 请尝试以下操作 ax tick params axis both whic
  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • 将字符串转换为带有毫秒和时区的日期时间 - Python

    我有以下 python 片段 from datetime import datetime timestamp 05 Jan 2015 17 47 59 000 0800 datetime object datetime strptime t
  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 在Python中重置生成器对象

    我有一个由多个yield 返回的生成器对象 准备调用该生成器是相当耗时的操作 这就是为什么我想多次重复使用生成器 y FunctionWithYield for x in y print x here must be something t
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • 使用基于正则表达式的部分匹配来选择 Pandas 数据帧的子数据帧

    我有一个 Pandas 数据框 它有两列 一列 进程参数 列 包含字符串 另一列 值 列 包含相应的浮点值 我需要过滤出部分匹配列 过程参数 中的一组键的子数据帧 并提取与这些键匹配的数据帧的两列 df pd DataFrame Proce
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • 16、Spring Boot——JdbcTemplate多数据源

    什么是多数据源 多数据源就是 在一个应用中想要去操作多个数据库的数据 比如说一个应用有订单表放在一个数据库里面 用户表放在另一个数据库里面 那么同一个应用就要连接不同的数据源 这种架构并不多见 但它也是一种技术 以后有这种需求 一般都是通过
  • HTTP 和 HTTPS详解

    HTTP 和 HTTPS详解 目录 HTTP 和 HTTPS详解 1 http 和 https 概述 1 1 什么是http 1 2 什么是https 1 3 两者之间的区别 2 工作原理 2 1 Http工作原理 2 2 Https工作原
  • IntelliJ IDEA 官方网站 idea官网 http://www.jetbrains.com/idea/

    idea下载官网一键直达 点击跳转
  • c++子类访问父类保护成员,只能通过子类对象

    1 前言 我们知道 对外部来讲 一个类的private和protected成员 外部都不能直接访问 那么 对子类来说呢 子类如果以public方式继承父类 它还是不能直接访问private成员 并且虽然它可以访问protected成员 也是
  • [Spring学习]06 Spring Bean的生命周期

    目录 一 Spring bean的生命周期 二 连接池配置 三 延时加载机制 一 Spring bean的生命周期 传统的Java应用中 bean的生命周期为 使用new 进行Bean的实例化 然后使用该Bean 一旦bean不再被使用 则
  • js addEventListener监听scroll滚动条 距离底部一定距离,加载数据,超过最大高度移除监听事件

    测试dmeon testBox height 450px border 1px solid rebeccapurple width 500px color blueviolet overflow y auto 在这里插入代码片 div cl
  • pycharm远程linux服务器的plt.show()不显示

    仅作为记录 博主关闭pycharm重启 即可
  • 数学资源大全

    发信站 水木社区 Wed Apr 30 13 14 00 2008 站内 http www math org cn forums index php showtopic 4427 建议看此贴时 如果找某专题用ie查找 因为网站太多了 好不容
  • Open3D(C++) 法线定向(3)——朝向点云内部

    目录 一 朝向点云内部 二 代码实现 三 结果展示 一 朝向点云内部 如题 算法极其简单 无需做原理介绍 看代码即可 二 代码实现 include
  • 无聊的时候看了下科学计数法..

    作用 当我们要标记或运算某个较大或较小且位数较多时 用科学记数法免去浪费很多空间和时间 概念 科学记数法是一种记数的方法 把一个数表示成a与10的n次幂相乘的形式 这种记数法叫做科学记数法 例 19971400000000 1 99714
  • linux下的npm安装

    NPM Node Package Manager 即node包管理器 是用Javascript编写 最初由Isaac Z Schlueter开发 它会随着node js一起安装 用户可以通过npm把自己设计的模块分发到registry上 也
  • AD设置覆铜的过孔连接方式

    参考链接 https wenku baidu com view 15666e13f18583d049645956 过孔和焊盘有三种连接状态 noconnect 不连接 reliefconnect 十字形连接 directconnect 直接
  • VS2019 C++ SQL Server 数据库连接

    总体来说有VS有两种配置SQL Server的方式 一种是ADO 另一种是ODBC 这两种方式的查询我都有问题 查询到了结果数据不是乱码就是显示在list control上时值变了 我也不知道为什么 ADO 1 什么是ADO 以下ADO概念
  • IDEA简介及使用

    1 Intellij IDEA简介 Eclipse IBM公司开发 1 1 Jetbrains公司介绍 IDEA是JetBrains公司的产品 这家公司总部位于捷克共和国的首都布拉格 开发人员以严谨著称的东欧程序员为主 该公司旗下还有许多其
  • 关于java中实现word转pdf

    1 java中实现word转pdf几种方式如下 1 使用jacob Java COM Bridge 操作offfice的方式 基于这种方式无论是水印还是格式都可以完美转换 但是这个方式都只是基于windos下 但有些项目是需要部署到linu
  • html 页面友情提示,设置网站404页面的正确做法

    核心提示 HTTP 404 错误意味着链接指向的网页不存在 即原始网页的URL失效 这种情况经常会发生 什么是404错误 HTTP 404 错误意味着链接指向的网页不存在 即原始网页的URL失效 这种情况经常会发生 很难避免 比如说 网页U
  • Java解析环保HJ212协议

    文章目录 什么是环保HJ212协议 自己封装了一个基于java的HJ212解析类 解析效果查看 常用的标准码说明 什么是环保HJ212协议 HJ212是由国家环保行业制定的数据传输标准协议 通常是通过TCP IP通讯方式进行数据传输的 数据
  • java如何文档生成目录

    对于现有文档 含标题 使用spire doc去生成目录 由于不是免费版 没有表格行数限制 但第一页开头有个版权声明 只需要用spire生成目录 然后用poi打开它删去第一行声明即可 spire依赖
  • sublime java插件_将SublimeText3打造成简易Java IDE

    简介与优点 使用该教程 你能使你的Sublime Text3可以作为一个精简版的JAVA IDE工具 既可以独立在cmd控制台运行也可以在Sublime自带的控制台运行 运行后不会有乱码 报错后可以在文本框中直接在对应位置显示 基于原有的j
  • Matplotlib绘图(二)

    目录 Matplotlib 二 绘制一元二次方程的曲线y x 2 绘制正弦曲线和余弦曲线 subplot函数 散点图 Matplotlib 二 绘制一元二次方程的曲线y x 2 Matplotlib有很多函数用于绘制各种曲线 其中plot函