使用matplotlib绘图库的pyplot快速绘图

2023-05-16

使用matplotlib绘图库的pyplot快速绘图

matplotlib是Python最常用的绘图库,在结果或数据可视化中常用pyplot实现快速绘图,下面参考张若愚主编的Python科学计算(第2版)介绍pyplot绘图:


导入pyplot模块

import numpy as np
import matplotlib.pyplot as plt

定义函数

x = np.linespace(0,8,100)
y = np.sin(2*x)
z = np.cos(x**2)

调用figure()创建一个figure对象

plt.figure(figsize=(8,4))

其中,figize指定Figure对象的宽度和高度,单位为英寸。也可以利用dpi参数指定单位英寸像素数,默认为80。

绘制y的图像

plt.plot(x,y,label="$sin(2*x)$",color="blue",linewidth=2)

label: 指定曲线的标签,$符号用法与LaTeX相同,作用为显示为数学公式。
color: 指定曲线颜色,可以用英文单词或者’#’开头的6位十六进制数表示, 例如’#ff0000’表示红色,也可以用值在0到1范围之内的三个元素的元组来表示,例如(0.0,0.0,1.0)也表示蓝色。
linewidth:曲线宽度,可以简写为lw

绘制z的图像

plt.plot(x,z,'r--',label="$cos(x^2)$")

可以直接通过’r–’指定曲线的颜色和线型,与MTALB用法类似

plt.plot() 可用颜色:

charactercolor颜色
bblue蓝色
ggreen绿色
kblack黑色
ccyan蓝绿色
mmagenta品红色
yyellow黄色
wwhite白色

plt.plot() 可用线型:

charactercolor
'.'point marker
','pixel marker
'o'circle marker
'v'triangle_down marker
'^'triangle_up marker
'<'triangle_left marker
'>'triangle_right marker
'1'tri_down marker
'2'tri_up marker
'3'tri_left marker
'4'tri_right marker
's'square marker
'p'pentagon marker
'*'star marker
'h'hexagon1 marker
'H'hexagon2 marker
'+'plus marker
'x'x marker
'D'diamond marker
'd'thin_diamond marker
'|'vline marker
'_'hline marker

设置Axes对象的属性

plt.xlabel("Time(s)")
plt.ylabel("Volt")
plt.title("PyPlot First Example")
plt.ylim(-1.2,1.2)
plt.legend()

xlabel、ylabel: 设置X、Y轴名称。
title: 设置子图名称。
xlim、ylim: 设置X、Y轴显示范围。
legend: 显示图示,即图中的label和样式的矩形区域

显示绘画窗口,保存图像

plt.show()

运行代码,输入图像如下:
这里写图片描述

保存图像

在Python中,画出的图像可右击另存为保存,对于单个画图,可以用savefig()保存。

plt.savefig('plot1.jpg',dpi=100)

savefig()第一个参数是保存路径,第二个参数为保存图像的分辨率。
注意:plt.show()之后将创建了一个新的空白的图片(坐标轴),plt.savefig() 不会保存原图像而会保存这个新生成的空白图片。解决方法a:在plt.show()之前保存;解决方法b:为plt命名,使用命名保存。

配置参数

一次绘制多个图像并配置参数

plt.figure(figsize=(5,6))
x = np.arange(0,-pi,pi,0.05)
lines = plt.plot(x, np.sin(x), x, np.cos(x), x, np.tan(x))
lines[0].set_alpha(0.6)
plt.setp(lines[1], color='r',linewidth=3.0)

输入图像为:
这里写图片描述
这里,通过调用Line2D对象的set_alpha(),修改其在对应曲线的透明度;通过调用Line2D对象的setp(),修改其在对应曲线的颜色和线宽。

获取对象属性

print(lines[0].get_linewidth())
print(plt.getp(lines[0], 'color'))
>>1.5
  1f77b4

获取对象的属性值的方法:get_*() 与plt.getp()。

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

使用matplotlib绘图库的pyplot快速绘图 的相关文章

随机推荐

  • BEV(Bird’s-eye-view)三部曲之二:方法详解

    一 Introdution Why BEV 高度信息在自动驾驶中并不重要 xff0c BEV视角可以表达自动驾驶需要的大部分信息 BEV空间可以大致看作3D空间 BEV representation有利于多模态的融合 可解释性强 xff0c
  • BEV(Bird’s-eye-view)三部曲之三:demo和验证

    1 PYVA Projecting Your View Attentively CVPR 2021 数据集 xff1a KITTIpaper xff0c github xff0c 35 FPS输入 xff1a 单张摄像头前向图输出 xff1
  • 记录自己的日常学习生活

    大家好 xff0c 今天是我第一次写博客 xff0c 刚才看了很多大佬的博文 xff0c 突然就想写一下自己的生活 xff0c 记录自己的学习过程 xff0c 本人是一个地地道道的东本人 xff0c 性格算是活泼开朗吧 xff0c 现就读于
  • 自动驾驶之MultiPath++论文阅读笔记

    预测道路参与者的future behavior 摘要 将输入由dense image based encoding改为a sparse encoding of heterogeneous scene elements 即用polylines
  • 自动驾驶之多任务方法调研

    1 YOLOP github C 43 43 TRT TX2 我们提出了一种高效的多任务网络 xff0c 该网络可以联合处理自动驾驶中的目标检测 车 xff0c 没有红绿灯 可驾驶区域分割和车道检测三个关键任务 速度 xff1a TX2上2
  • 自动驾驶之去光晕调研

    中文版综述github 一 光晕类型 常见去光晕算法的光晕 去光晕算法的光晕之二 汇总 样式包括有 halos 色圈 streaks 条纹 bright lines 亮线 saturated blobs 深污点 color bleeding
  • 自动驾驶之3D点云聚类算法调研

    1 方法 总共分为4类 基于欧式距离的聚类Supervoxel 聚类深度 Depth 聚类Scanline Run 聚类 1 1 基于欧氏距离的聚类 思路 在点云上构造kd tree 然后在某个半径阈值 例如0 5m 则分割为一个实例 相似
  • 自动驾驶之夜间检测调研

    1 ExDark 第一个 公开 特定的提供 natural low light images for object的数据集 7363张 low light images 12 classes Low light image enhancem
  • 自动驾驶之行人轨迹预测数据集

    一 Real Data ETH Univ 43 Hotel 750 pedestrians exhibiting complex interactions UCY Zara01 Zara02 and Uni 780 pedestrians
  • 自动驾驶之单目3D目标检测TensorRT调研

    目前在github上只能找到2个项目 TensorRT CenterNet 3D tkDNN 两者都是使用CenterNet xff0c 但第1个基于TensorRT5 无法与当前最新的TensorRT6和TensorRT7兼容 经测试 x
  • 秋招之字节面试智力题

    1 倒水 只有两个无刻度的水桶 xff0c 一个可以装6L水 xff0c 一个可以装5L水 xff0c 如何在桶里装入3L的水 6L装满倒入5L xff0c 剩1L5L倒出 1L倒入5L6L装满倒入5L剩2L5L倒出 xff0c 2L倒入5
  • 数学专业外语之一: 基本概念与术语

    一 四则运算 加法 plus xff0c 1 43 2 one plus two减法 minus 3 2 three minus two乘法 times or multiplied by xff0c 3x2 three times two
  • 数学专业外语之二: 阅读理解与翻译初步

    一 比 率与比例 number xff1a 数 xff1b number axis xff1a number theory xff1a 数论 xff1b the number of xff1a 的数量quantity xff1a 量 xff
  • 从iphone一代看产品创新

    第一代iPhone2007年6月29日正式发售 xff0c 可能大多数人接触Iphone是从iphone4开始 xff0c 先展示一下iphone一代 xff0c 提醒一下这是2007年的一款手机 xff0c 当时市面所有手机都是键盘机 x
  • 自动驾驶之3D目标检测的SMOKE算法

    SMOKE Single Stage Monocular 3D Object Detection via Keypoint Estimation 论文github知乎 一 数据集 KITTI 1 1 输入 单张图像 xff1a 1242x3
  • 自动驾驶之车道线检测调研与实测

    一 LaneNet 论文代码 xff1a github python tensorflow 1 15 1 1 主要过程 inference xff0c 分上下两个分支 xff0c 如图 Enocder decoder stage 图像空间编
  • 推荐系统之AUC指标的一些理解

    以下是在一些整理的和自己的关于AUC的理解 1 AUC和GAUC的区别 auc反映的是整体样本间的一个排序能力 在计算广告领域 实际要衡量的是不同用户对不同广告之间的排序能力 因此实际应该更关注的是同一个用户对不同广告间的排序能力 GAUC
  • 逻辑回归相关问题整理

    1 写逻辑回归的logloss损失函数 对于样本 x x x xff0c 输出为 p x i
  • 如何防止softmax函数overflow和underflow?

    上溢出 xff1a c极其大的时候 xff0c 计算 e c e c e c 下溢出 xff1a 当c趋于负无穷的时候 xff0c 分母是一个极小的数 xff0c 导致下溢出 解决方法 令
  • 使用matplotlib绘图库的pyplot快速绘图

    使用matplotlib绘图库的pyplot快速绘图 matplotlib是Python最常用的绘图库 xff0c 在结果或数据可视化中常用pyplot实现快速绘图 xff0c 下面参考张若愚主编的Python科学计算 xff08 第2版