首页 > 其他分享 >Matplotlib 学习

Matplotlib 学习

时间:2023-01-11 10:00:53浏览次数:37  
标签:plot plt 画布 show axes Matplotlib 学习 ax

Matplotlib图像组成:

  • Figure:指整个图形,您可以把它理解成一张画布,它包括了所有的元素,比如标题、轴线等;
  • Axes:绘制 2D 图像的实际区域,也称为轴域区,或者绘图区;
  • Axis:指坐标系中的垂直轴与水平轴,包含轴的长度大小(图中轴长为 7)、轴标签(指 x 轴,y轴)和刻度标签;
  • Artist:您在画布上看到的所有元素都属于 Artist 对象,比如文本对象(title、xlabel、ylabel)、Line2D 对象(用于绘制2D图像)等。

 

绘图类型:

 

Image函数:

 

Axis函数:

 

Figure函数:

正弦曲线

import math
import matplotlib.pyplot as plt
import numpy as np

"""
正弦曲线图
"""

# 第三个参数为步长,即两个参数之间的差值
x = np.arange(0, math.pi*2, 0.05)
y=np.sin(x)
plt.plot(x,y)
plt.xlabel("angle")
plt.ylabel("sine")
plt.title('sine wave')
plt.show()

 

pylab绘图:

PyLab绘图基础
 from numpy import *
from pylab import *

x=linspace(-3,3,30)
y=x**2
plot(x,y)
show()

plot(x,y,'r')
show()

plot(x,y,'r.')
show()

plot(x,sin(x))
plot(x,cos(x),'r-')
plot(x,-sin(x),'g--')
show()

 

Matplot figure对象:

  fig = plt.figure()

 

Matplotlib axes类:

  一个画布(figure)中可以包含多个 axes(轴域)对象,但是同一个axes对象只能在一个画布中使用。(2D 绘图区域(axes)包含两个轴(axis)对象;如果是3D绘图区域,则包含三个)

  通过调用 add_axes() 方法能够将 axes 对象添加到画布中,该方法用来生成一个 axes 轴域对象,对象的位置由参数rect决定。

  rect 是位置参数,接受一个由 4 个元素组成的浮点数列表,形如 [left, bottom, width, height] ,它表示添加到画布中的矩形区域的左下角坐标(x, y),以及宽度和高度。如下所示:

  ax=fig.add_axes([0.1,0.1,0.8,0.8])

  注意:每个元素的值是画布宽度和高度的分数。即将画布的宽、高作为 1 个单位。比如,[ 0.1, 0.1, 0.8, 0.8],它代表着从画布 10% 的位置开始绘制, 宽高是画布的 80%。

  Legend()绘制图例

    ax.legend(handles, labels, loc)

    • labels 是一个字符串序列,用来指定标签的名称;
    • loc 是指定图例位置的参数,其参数值可以用字符串或整数来表示;
    • handles 参数,它也是一个序列,它包含了所有线型的实例;

  loc参数有字符串和整数两种:

    

  axes.plot()

    这是 axes 类的基本方法,它将一个数组的值与另一个数组的值绘制成线或标记,plot() 方法具有可选格式的字符串参数,用来指定线型、标记颜色、样式以及大小。

直线图
import matplotlib.pyplot as plt

y = [1, 4, 9, 16, 25, 36, 49, 64]
x1 = [1, 16, 30, 42, 55, 68, 77, 88]
x2 = [1, 6, 12, 18, 28, 40, 52, 65]
fig = plt.figure()
ax = fig.add_axes([0, 0, 1, 1])
# 使用简写的形式color/标记符/线型
l1 = ax.plot(x1, y, 'ys-')
l2 = ax.plot(x2, y, 'go--')
ax.legend(labels=('tv', 'Smartphone'), loc='lower right')  # legend placed at lower right
ax.set_title("Advertisement effect on sales")
ax.set_xlabel('medium')
ax.set_ylabel('sales')
plt.show()

 

标签:plot,plt,画布,show,axes,Matplotlib,学习,ax
From: https://www.cnblogs.com/xunzf0402/p/16963311.html

相关文章

  • AI大模型学习了解
    #百度文心 #华为盘古上线时间:2021年4月25日发布地点:华为开发者大会(Cloud)  参考资料:华为盘古大模型是什么?为什么很多人说其让很多的AI头部玩家崩溃了?华为云......
  • ES6 中 Promise对象使用学习
    转载请注明出处:Promise 对象是JavaScript的异步操作解决方案,为异步操作提供统一接口。它起到代理作用(proxy),充当异步操作与回调函数之间的中介,使得异步操作具备同步......
  • Java学习路线总结
    认清现实,放弃幻想。(特此感谢动力节点老杜分享出来的学习路线)学习阶段阶段地址第一阶段:JavaSE基础入https://www.cnblogs.com/NorthPoet/p/1702......
  • 机器学习 吴恩达 第五章 笔记
    五、逻辑回归(LogisticRegression)5.1分类问题  在接下来的几节里,我想讨论要预测的变量\(y\)是一个离散值的分类问题.接下来就是讨论逻辑回归算法.  在分类问题......
  • 计算机操作系统学习第一天(什么是操作系统p1~p3)
    视频笔记什么是操作系统......
  • python利用matplotlib生成迷宫
    起因我想要写一个项目叫python迷宫游戏,需求是玩家能和机器对抗率先走出迷宫,至少要有两个等级的电脑。慢慢来,首先迷宫游戏需要有一个迷宫并展示出来,这便是这篇博客的目的......
  • 进阶阶段——STM32学习笔记(一)
    进阶阶段——STM32学习笔记(1)前言由于套件放在学校,待等假期结束后才能做实验0STM32简介注意:STM32的标准工作电压为3.3V,若用5V供电,需要用(电平转换电路)稳压芯片降压至3.3......
  • 计算机组成原理学习第一天(概述,系统简介1)
    视频p1视频p2只看计算机系统部分笔记......
  • 迁移学习(MixMatch)《MixMatch: A Holistic Approach to Semi-Supervised Learning》
    论文信息论文标题:MixMatch:AHolisticApproachtoSemi-SupervisedLearning论文作者:DavidBerthelot,NicholasCarlini,IanGoodfellow,NicolasPapernot,Avital......
  • RabbitMQ学习笔记04:Publish/Subscribe
    参考资料:RabbitMQtutorial-Publish/Subscribe—RabbitMQ   前言在RabbitMQ学习笔记03:WorkQueues中,每个进入队列中的消息只会被投递给一个消费者进程。而在......