matplotlib画图

2023-11-06

画出第一个基本图像

	import matplotlib.pyplot as plt
	import numpy as np
	
	x = np.linspace(-1, 1, 50)
	y = x*2+1
	
	plt.plot(x, y)
	plt.show()

用两个窗口画出两个图像

	import matplotlib.pyplot as plt
	import numpy as np
	
	x = np.linspace(-1, 1, 50)
	y1 = x*2+1
	y2 = x**2
	
	plt.figure()
	line1 = plt.plot(x, y1, color='red', linestyle='--')[0]
	# 在窗口加其他plot就会画别的线,可以改改颜色
	# figure能配置某些参数,看看帮助
	plt.figure()
	line2 = plt.plot(x, y2)[0]
	# 设置x轴的长度,同理有ylim
	plt.xlim((0, 100))
	# x轴标签为num,同理ylabel 
	plt.xlabel('num')
	# 换掉刻度值
	plt.xticks(要被更换的,想更换的)
	# 添加图例
	plt.legend(handles=[line1, line2],labels=['aa','bb'],loc='best')
	# 在曲线上加一个点
	x0 = 0.5
	y0 = x0**2
	plt.scatter(x0, y0)
	# 将这个点做出现交于轴
	plt.plot([x0, x0], [y0, 0], 'k')
	# 将这个点写个注释
	plt.annotate('a point', (x0, y0))
	plt.show()

画散点图:

	n = 1024
	X = np.random.normal(0, 1, n)
	Y = np.random.normal(0, 1, n)
	T = np.arctan2(Y, X)
	# XY没啥说的,s:表示的是大小,c:表示的是色彩或颜色序列,alpha:标量,0-1之间
	plt.scatter(X, Y, s=75, c=T, alpha=0.5)
	plt.ylim((-1.5, 1.5))
	plt.xlim((-1.5, 1.5))
	plt.show()

画柱状图

	X = np.arange(0, 10, 1)
	Y = np.arange(0, 10, 1)
	plt.bar(x=X, height=Y)
	# 将柱状图标注Y值
	for x,y in zip(X,Y):
	    plt.text(x+0.4,y+0.05,'%f'%y)
	plt.show()

画3D图像

	import matplotlib.pyplot as plt
	import numpy as np
	from mpl_toolkits.mplot3d import Axes3D
	
	# 创建窗口
	fig = plt.figure()
	# 向窗口添加三维坐标
	ax = Axes3D(fig)
	# 创建X,Y
	X = np.arange(-4, 4, 0.25)
	Y = np.arange(-4, 4, 0.25)
	
	X, Y = np.meshgrid(X, Y)
	# 计算Z的值
	R = np.sqrt(X ** 2 + Y ** 2)
	Z = np.sin(R)
	ax.plot_surface(X, Y, Z, cmap=plt.get_cmap('rainbow'))
	
	plt.show()

一个图框有多个图像

	plt.figure()
	# 两行两列,第一个图像
	plt.subplot(2, 2, 1)
	plt.plot([0, 1], [0, 1])
	# 两行两列,第二个图像
	plt.subplot(2, 2, 2)
	plt.plot([0, 1], [0, 2])
	# 两行两列,第三个图像
	plt.subplot(2, 2, 3)
	plt.plot([0, 1], [0, 3])
	
	plt.show()

	# 一个图像占两个图像的位置
	plt.subplot(2, 1, 1)
	plt.plot([0, 1], [0, 1])
	# 两个小的分居第二行
	plt.subplot(2, 2, 3)
	plt.plot([0, 1], [0, 2])
	plt.subplot(2, 2, 4)
	plt.plot([0, 1], [0, 3])

一个图框有多个不同大小图像

	plt.figure()
	# 3*3个框,第一幅图像从起始开始,占3列一行
	ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=3, rowspan=1)
	ax1.plot([0, 1], [0, 1])
	# 3*3个框,第二幅图像从第二行起始开始,占1列两行
	ax2 = plt.subplot2grid((3, 3), (1, 0), colspan=1, rowspan=2)
	ax2.plot([0, 1], [0, 2])
	# 3*3个框,第二幅图像从第二行第二列起始开始,占2列两行
	ax3 = plt.subplot2grid((3, 3), (1, 1), colspan=2, rowspan=2)
	ax3.plot([0, 1], [0, 4])
	
	plt.show()

次坐标轴,两条线用的Y轴数值和间隔不同

	plt.figure()
	ax1 = plt.subplot()
	ax2 = ax1.twinx()
	
	x = np.linspace(-1, 1, 50)
	y1 = x * 2 + 1
	y2 = x ** 3
	
	ax1.plot(x, y1, 'g')
	ax2.plot(x, y2, 'b')
	ax1.set_ylabel('y1', color='g')
	ax2.set_ylabel('y2', color='b')
	
	plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matplotlib画图 的相关文章

  • 硒网格监听节点端口而不是集线器端口

    对于我的测试 我在不同的端口上本地运行网格和节点 java jar usr bin selenium server jar port 4444 role hub java jar usr bin selenium server jar ro
  • Flask - 如何从 JSON GET 请求获取参数

    我有一个发出以下 GET 请求的客户端 api GET tasks 5fe7eabd 842e 40d2 849e 409655e0891d 22task 22 22hello 22 22url 22 22 tasks 5fe7eabd 8
  • 如何在模型 Django 中创建必需:布尔字段

    我有一个模型 其中有一个名为的字段is student and is teacher Student and Teacher forms is teacher models BooleanField teacher status defau
  • python 打开相对文件夹中所有以.txt结尾的文件

    我需要打开并解析文件夹中的所有文件 但我必须使用相对路径 类似于 input files 我知道在 JavaScript 中你可以使用 path 库来解决这个问题 我怎样才能在Python中做到这一点 这样您就可以获得路径中的文件列表作为列
  • Django 和 AWS 简单电子邮件服务 [重复]

    这个问题在这里已经有答案了 我正在尝试启动并运行 django 站点 并且正在尝试启用 django 的标准密码重置服务 我的网站由 AWS EC2 托管 因此我想将 AWS SES 用于我的电子邮件服务 但是 我无法使 smtp 连接正常
  • Python绕相机轴旋转图像

    假设我有一个图像 是在对某些原始图像应用单应性变换 H 后获得的 未显示原始图像 将单应性 H 应用于原始图像的结果是该图像 我想围绕合适的轴 可能是相机所在的位置 如果有的话 将此图像旋转 30 度以获得此图像 如果我不知道相机参数 如何
  • UTF-8 解码如何知道字节边界?

    我一直在阅读大量有关 unicode 编码的文章 尤其是有关 Python 的文章 我想我现在对此已经有了相当深入的了解 但仍有一个小细节我有点不确定 解码如何知道字节边界 例如 假设我有一个带有两个 unicode 字符的 unicode
  • Python服务器“通常只允许每个套接字地址使用一次”

    我正在尝试用 python 创建一个非常基本的服务器 它侦听端口 当客户端尝试连接时创建 TCP 连接 接收数据 发回某些内容 然后再次侦听 并无限期地重复该过程 这是我到目前为止所拥有的 from socket import server
  • 桨在移动时留下痕迹(Pygame Pong 游戏)[重复]

    这个问题在这里已经有答案了 我的游戏中的球拍有问题 每次我试图移动它时 桨都会留下一条 痕迹 我想这是因为我的代码没有删除旧位置的前一个桨 如果是的话怎么删除之前的呢 我应该使用blit Code import pygame sys ran
  • Python textwrap.wrap 导致 \n 问题

    所以我只是重新格式化了一堆代码以合并textwrap wrap 却发现我所有的 n都消失了 这是一个例子 from textwrap import wrap def wrapAndPrint msg width 25 wrap msg to
  • 并行磁盘 I/O

    我有几个想要阅读的日志文件 不失一般性 假设日志文件处理如下 def process infilepath answer 0 with open infilepath as infile for line in infile if line
  • Django - 从时间戳获取不同的日期

    我正在尝试按日期过滤用户 但直到我可以找到数据库中用户的第一个和最后一个日期为止 虽然我可以让我的脚本稍后过滤掉重复项 但我想从一开始就使用 Django 来完成此操作distinct因为它显着减少 我试过 User objects val
  • 在 CSV 文件的最上面一行写入

    我有这个sample csv 文件 a 1 apple b 2 banana c 3 cranberry d 4 durian e 5 eggplant 并有以下代码 samplefile open sample csv rb rows s
  • Python 柯里化任意数量的变量

    我正在尝试使用柯里化在 Python 中进行简单的函数添加 我找到了这个咖喱装饰器here https gist github com JulienPalard 021f1c7332507d6a494b def curry func def
  • 类型错误:不可散列的类型:pandas 的“切片”

    我有一个 pandas 数据结构 我这样创建 test inputs pd read csv input test csv delimiter 它的形状 print test inputs shape is this 28000 784 我
  • 按键合并的两个字典的值的并集

    我有两本词典 d1 a x y b k l d2 a m n c p r 如何合并这两个字典以获得这样的结果 d3 a x y m n b k l c p r 当字典的值是简单类型 如 int 或 str 时 这有效 d3 dict i a
  • 添加条件计数器:基于其他列的值的计数器列

    我有一张这样的桌子 id id2 val a red apple a red orange b blue fish c violet beef a yellow banana a black pork 我想根据 id 和 id2 的值创建一
  • 如何从集合中检索元素而不删除它?

    假设如下 gt gt gt s set 1 2 3 我如何获得一个值 任何值 s不做s pop 我想将该项目保留在集合中 直到我确定可以删除它 这只有在异步调用另一个主机之后才能确定 又快又脏 gt gt gt elem s pop gt
  • Django 表单中的只读字段

    如何在 Django 表单中将字段设置为只读 我知道如何禁用某个字段 但这不是我想要的 任何帮助 将不胜感激 您可以使用可选的attrs定义时的参数Field 以机智 somefield forms CharField widget for
  • Pandas 将时间序列数据重新采样为 15 分钟和 45 分钟 - 使用多索引或列

    我有一些时间序列数据作为 Pandas 数据框 它从每小时过去 15 分钟和过去 45 分钟 时间间隔为 30 分钟 的观察开始 然后将频率更改为每分钟 我想对数据进行重新采样 以便整个数据帧的频率为每 30 分钟一次 15 点和 45 点

随机推荐

  • 解决XShell和Xftp远程连接Ubuntu失败,报找不到匹配的key exchange算法的错误

    我下载的linux系统是当前最新的Ubuntu 20 04的 使用的远程连接工具是XShell 5和Xftp 4 XShell可以连上 但是Xftp就一直报下图这个错误 尝试了删除ssh host的各种key 然后重新生成 重启ssh服务
  • 个人wiki搭建资料整理

    个人wiki搭建 一 大型企业级wiki Confluence Confluence是一个专业的企业知识管理与协同软件 也可以用于构建企业wiki 使用简单 但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息 文档协作 集体讨论 信息
  • Java中NIO和IO的比较

    NIO是为了弥补IO操作的不足而诞生的 NIO的一些新特性有 非阻塞I O 选择器 缓冲以及管道 管道 Channel 缓冲 Buffer 选择器 Selector 是其主要特征 概念解释 Channel 管道实际上就像传统IO中的流 到任
  • m3u8格式的视频链接怎么在自己电脑上播放

    本文接上篇文章 网页播放器 CKplayer 的视频怎么下载 m3u8简单探索 上篇文章提到 怎么到视频网站通过浏览器抓包分析 得到视频的源地址 看这篇文章之前 最好可以去先看一看上篇博文的介绍 上篇文章我们介绍到我们能够得到视频的源地址
  • SpringBoot 之数据源配置

    文章目录 市面上的几种数据源比对 SpringBoot自动装配DataSource原理 HiKariCP 数据源配置 Druid 数据源配置 SpringBoot集成Druid连接池 Druid 多数据源配置 不同Mapper操作不同数据源
  • 初等模型---光盘的数据容量

    问题分析 光盘的外观尺寸是由些大公司成立的联盟决定的 如CD DVD等盘片的外径为120mm 并且沿外边缘留有2mm宽的环形区域不存储信息 CLV光盘存储信息的内圈直径为45mm 在内外圈之间的环形区域 经过编码的数字信息 以一定深度和宽度
  • MySQL 8用户及权限管理

    文章目录 参考文档 查看权限 安装后 登录测试 添加帐户 分配特权和删除帐户 扩展 创建远程访问新用户并授权 参考文档 官方链接 https dev mysql com doc refman 8 0 en create user html
  • 简单的扫雷程序的实现

    define CRT SECURE NO WARNINGS include
  • js操作时间过当天晚上00:00清除本地存储

    const end new Date new Date new Date toLocaleDateString getTime 24 60 60 1000 1 getTime 当天23 59 59秒 转换成的毫秒数 const start
  • banner切换

    html代码 div div a img src imgs p1 png alt a a img src imgs p2 jpg alt a a img src imgs p3 jpg alt a a img src imgs p4 jpg
  • 【javascript】导航栏

    要实现这样的效果主要有两点 第一 当鼠标经过主导航栏里面的内容就会被放大 鼠标离开后就会恢复原来的样子 第二 当鼠标经过主导航时对应的副导航的内容就会呈现
  • 一个完美的自动化测试框架应该怎么写?

    一 什么是自动化测试框架 自动化测试框架是为自动化测试用例或者脚本提供执行环境而搭建的基础设施 自动化测试框架有助于有效地开发 执行和报告自动化测试用例 优点 代码复用 提高测试效率 更高的测试覆盖率 维护成本低 更早发现和记录bug 二
  • Oracle RAC 更改网卡名称

    如 原网卡eth1 为增加网卡可靠性 把eth1和eth3绑定为bond0 主备模式提供服务 更改名称后RAC会无法启动网络服务 还需要更改的操作如下 u01 app 11 2 0 grid bin oifcfg getif u01 app
  • C#中的this

    一 C 中的this C 中的保留字this仅限于在构造函数 类的方法和类的实例中使用 在类的构造函数中出现的this作为一个值类型 它表示对正在构造的对象本身的引用 在类的方法中出现的this作为一个值类型 表示对调用该方法的对象的引用
  • WSDL(Web服务描述语言)详细解析

    WSDL Web Services Description Language Web服务描述语言 是一种XML Application 他将Web服务描述定义为一组服务访问点 客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服
  • Java:珠穆朗玛峰

    需求 世界最高山峰是珠穆朗玛峰 8844 43米 8844430毫米 假如我有一张足够大的纸 它的厚度是0 1毫米 请问 我折叠多少次 可以折成珠穆朗玛峰的高度 分析 1 因为要反复折叠 所以要使用循环 但是不知道要折叠多少次 这种情况更适
  • 记一次spring循环依赖

    问题 spring循环依赖 场景 A注入B B注入A 按理来说spring是支持的处理 不会出现循环依赖的问题 但是 除了相互注入外 项目还是使用的AOP切面打印日志 使用了代理 问题就是出现在这里 源码 Whether to resort
  • 简单的整理一下Vue3的组合API

    1 Vue3的生态和优势 社区生态 逐步完善 整体优化 性能优化 TS支持优化 组合式API加持 市场使用 部分技术选型激进的公司已经在生产环境使用了vue3 社区生态 组件 插件 名称 官方地址 简介 ant design vue Ant
  • Eclipse远程调式

    JVM调式选项 Xdebug Xrunjdwp transport dt socket address 8000 server y suspend y 请务必写在一行
  • matplotlib画图

    画出第一个基本图像 import matplotlib pyplot as plt import numpy as np x np linspace 1 1 50 y x 2 1 plt plot x y plt show 用两个窗口画出两