【matplotlib】1-使用函数绘制图表

news2024/9/21 2:35:02

文章目录

  • 使用函数绘制图表
    • 1.绘制matplotlib图表组成元素的主要函数
    • 2.准备数据
    • 3.函数用法
      • 3.1函数plot()--展现变量的趋势变化
      • 3.2函数scatter()--寻找变量之间的关系
      • 3.3函数xlim()--设置x轴的数值显示范围
      • 3.4函数xlabel()--设置x轴的标签文本
      • 3.5 函数grid()--绘制刻度线的网格线
      • 3.6 函数axhline()--绘制平行与x轴的水平参考线
      • 3.7 函数axvspan()--绘制垂直于x轴的参考区域
      • 3.8 函数annotate()--添加图形内容细节的指向型注释文本
      • 3.9 函数text()--添加图形内容细节的无指向型注释文本
      • 3.10 函数title()--添加图形内容的标题
      • 3.11 函数legend()--标识不同图形的文本标签图例
    • 函数综合应用

使用函数绘制图表

1.绘制matplotlib图表组成元素的主要函数

在一个图形输出窗口中,底层是一个Figure实例,通常称之为画布,包含一些可见和不可见的元素。在画布上的就是图形,图形是一些Axes实例,里面几乎包含了matplotlib的组成元素,例如坐标轴、刻度、标签、线和标记等。

2.准备数据

我们可以导入第三方包NumPy和快速绘图模块pyplot,matplotlib库就是建立在科学计算包NumPy基础之上的Python绘图库。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.5, 3.5, 100) # 在0.5到3.5之间均匀地取100个数
y = np.sin(x)
y1 = np.random.randn(100) # 在标准正态分布中随机地取100个数

3.函数用法

3.1函数plot()–展现变量的趋势变化

函数功能: 展现变量的趋势变化
调用签名: plt.plot(x, y, ls=‘-’, lw=2, label=‘plot figure’)
参数说明:

  • x: x轴上的数值
  • y: y轴上的数值
  • ls: 折线图的线条风格
  • lw: 折线图的线条宽度
  • label: 标记图形内容的标签文本
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 1000)
y = np.cos(x)

plt.plot(x, y, ls='-', lw=2, label='cos(x)')
plt.legend()  # 显示图例

plt.show()

plot

3.2函数scatter()–寻找变量之间的关系

函数功能: 寻找变量之间的关系
调用签名: plt.scatter(x, y, c=‘b’, label=‘scatter figure’)
参数说明:

  • x: x轴上的数值
  • y: y轴上的数值
  • c: 散点图的标记颜色
  • label: 标记图形内容的标签文本
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 1000)
y = np.random.randn(1000)

plt.scatter(x, y, c='b', label='scatter plot')
plt.legend()

plt.show()

scatter

3.3函数xlim()–设置x轴的数值显示范围

函数功能: 设置x轴的数值显示范围
调用签名: plt.xlim(xmin, xmax)
参数说明:

  • xmin: x轴上的最小值
  • xmax: x轴上的最大值
  • 平移性: 上面的函数功能,调用签名和参数说明同样可以平移到函数ylim()上
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 1000)
y = np.random.randn(1000)

plt.scatter(x, y, c='b', label='scatter plot')
plt.legend()

plt.xlim(0.05, 10)
plt.ylim(0, 1)

plt.show()

scatter

3.4函数xlabel()–设置x轴的标签文本

函数功能: 设置x轴的标签文本
调用签名: plt.xlabel(string)
参数说明:

  • xmin: 标签文本的内容
  • 平移性: 上面的函数功能,调用签名和参数说明同样可以平移到函数ylabel()上
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 1000)
y = np.sin(x)

plt.plot(x, y, ls='-', lw=2, c='c', label='sin(x)')
plt.legend()  # 显示图例

plt.xlabel('x-axis')
plt.ylabel('y-axis')

plt.show()

sin

3.5 函数grid()–绘制刻度线的网格线

函数功能: 绘制刻度线的网格线
调用签名: plt.grid(linestyle=‘:’, color=‘r’)
参数说明:

  • linestyle: 网格线的线条风格
  • color: 网格线的线条颜色
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 100)
y = np.log(x)

plt.plot(x, y, ls='-.', lw=2, c='c', label='y=log(x)')
plt.legend()

plt.grid(linestyle=':', color='r')

plt.show()

log

3.6 函数axhline()–绘制平行与x轴的水平参考线

函数功能: 绘制平行与x轴的水平参考线
调用签名: plt.axhline(y=0.0, c=‘r’, ls=‘–’, lw=2)
参数说明:

  • y: 水平参考线的出发点
  • c: 参考线的线条颜色
  • ls: 参考线的线条风格
  • lw: 参考线的线条宽度
  • 平移性: 上面的函数功能,调用签名和参数说明同样可以平移到函数axvline()上
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 100)
y = np.sin(x)

plt.plot(x, y, ls='-.', lw=2, c='c', label='sin(x)')
plt.legend()

plt.axhline(y=0.0, c='r', ls='--', lw=2)
plt.axvline(x=4.0, c='r', ls='--', lw=2)

plt.show()

sin

3.7 函数axvspan()–绘制垂直于x轴的参考区域

函数功能: 绘制垂直于x轴的参考区域
调用签名: plt.axvspan(xmin=1.0, xmax=2.0, facecolor=‘y’, alpha=0.3)
参数说明:

  • xmin: 参考区域的起始位置
  • xmax: 参考区域的终止位置
  • facecolor: 参考区域的填充颜色
  • alpha: 参考区域的填充颜色的透明度
  • 平移性: 上面的函数功能,调用签名和参数说明同样可以平移到函数axhspan()上
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 1000)
y = np.sin(x)

plt.plot(x, y, ls='-.', lw=2, c='c', label='sin(x)')
plt.legend()

plt.axvspan(xmin=4.0, xmax=6.0, facecolor='y', alpha=0.3)
plt.axhspan(ymin=0.0, ymax=0.5, facecolor='y', alpha=0.3)

plt.show()

sin

3.8 函数annotate()–添加图形内容细节的指向型注释文本

函数功能: 添加图形内容细节的指向型注释文本
调用签名: plt.annotate(string,xy=(np.pi/2, 1.0), xytext=((np.pi/2)+0.15, 1.5), weight=‘bold’, color=‘b’, arrowprops=dict(arrowstyle=‘->’, connectionstyle=‘arc3’, color=‘b’))
参数说明:

  • string: 图形内容的注释文本
  • xy: 被注释的图形内容的位置坐标
  • xytext: 注释文本的位置坐标
  • weight: 注释文本的字体粗细风格
  • color: 注释文本的字体颜色
  • arrowprops: 指示被注释内容的箭头的属性字典
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 1000)
y = np.sin(x)

plt.plot(x, y, ls='-.', lw=2, c='c', label='sin(x)')
plt.legend()

plt.annotate("maximum",
             xy=(np.pi/2, 1.0),
             xytext=(np.pi/2+1.0, 0.8),
             weight='bold',
             color='b',
             arrowprops=dict(arrowstyle='->', connectionstyle='arc3', color='b'))

plt.show()

sin

3.9 函数text()–添加图形内容细节的无指向型注释文本

函数功能: 添加图形内容细节的无指向型注释文本
调用签名: plt.text(x, y, string, weigth=‘bold’, color=‘b’)
参数说明:

  • x: 注释文本内容所在位置的横坐标
  • y: 注释文本内容所在位置的纵坐标
  • string: 注释文本内容
  • weight: 注释文本的字体粗细风格
  • color: 注释文本的字体颜色
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 1000)
y = np.sin(x)

plt.plot(x, y, ls='-', lw=2, c='c', label='sin(x)')
plt.legend()  # 显示图例

plt.text(3.10, 0.09, "y=sin(x)", weight="bold", color="b")

plt.show()

sin

3.10 函数title()–添加图形内容的标题

函数功能: 添加图形内容的标题
调用签名: plt.title(string)
参数说明:

  • string: 图形内容的标题文本
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 1000)
y = np.sin(x)

plt.plot(x, y, ls='-', lw=2, c='c', label='sin(x)')
plt.legend()  # 显示图例

plt.title('sin(x)')  # 标题

plt.show()

sin

3.11 函数legend()–标识不同图形的文本标签图例

函数功能: 标识不同图形的文本标签图例
调用签名: plt.legend(loc=‘lower left’)
参数说明:

  • loc: 图例在图中的地理位置
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 1000)
y = np.sin(x)

plt.plot(x, y, ls='-', lw=2, c='c', label='sin(x)')
plt.legend(loc='lower left')  # 显示图例

plt.title('sin(x)')  # 标题

plt.show()

sin

函数综合应用

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm as cm  # color map

# define data
x = np.linspace(0.5, 3.5, 100)
y = np.sin(x)
y1 = np.random.randn(100)

# scatter figure
plt.scatter(x, y1, c='0.25', label='scatter figure')

# plot figure
plt.plot(x, y, ls='--', lw=2, c='r', label='plot figure')

# some clean up (removing chartjunk)
for spine in plt.gca().spines.keys():
    if spine == "top" or spine == "right":
        plt.gca().spines[spine].set_color('none')

# turn bottom ticks for x-axis on
plt.gca().xaxis.set_ticks_position('bottom')
# set tick_line position of bottom

# turn left ticks for y-axis on
plt.gca().yaxis.set_ticks_position('left')
# set tick_line position of left

# set x,yaxis limit
plt.xlim(0.0, 4.0)
plt.ylim(-3.0, 3.0)

# set axes labels
plt.xlabel('x_axis')
plt.ylabel('y_axis')

# set x,yaxis grid
plt.grid(True, ls=':', color='r')

# add a horizontal line across the axis
plt.axhline(y=0.0, c='r', ls='--', lw=2)

# add a vertical span across the axis
plt.axvspan(xmin=1.0, xmax=2.0, facecolor='y', alpha=0.3)

# set annotating info
plt.annotate('maximum', xy=(np.pi / 2, 1.0),
             xytext=(np.pi / 2 + 0.15, 1.5), weight='bold', color='r',
             arrowprops=dict(arrowstyle='->', connectionstyle='arc3', color='r'))

plt.annotate('spines', xy=(0.75, -3),
             xytext=(0.35, -2.25), weight='bold', color='b',
             arrowprops=dict(arrowstyle='->', connectionstyle='arc3', color='b'))

plt.annotate('', xy=(0, -2.78),
             xytext=(0.4, -2.32),
             arrowprops=dict(arrowstyle='->', connectionstyle='arc3', color='b'))

plt.annotate('', xy=(3.5, -2.98),
             xytext=(3.6, -2.70),
             arrowprops=dict(arrowstyle='->', connectionstyle='arc3', color='b'))

# set text info
plt.text(3.6, -2.70, "'|' is tickline", weight='bold', color='b')
plt.text(3.6, -2.95, "3.5 is ticklabel", weight='bold', color='b')

# set title
plt.title('structure of matplotlib')

# set legend
plt.legend()

plt.show()

structure

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/60419.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kong(三)Konga UI安装和使用

一 konga 的github地址 konga安装参考 ① Kong 可视化UI 选择 官方kong-dashboard 1)收费:当前kong的社区版是没有dashboard的,但是付费的企业版是有带的2)kong-dashboard最新版本v3.6.0,只支持到kongv0.14.x,对于更高的kong版本,功能支…

SpringBoot整合RabbitMQ,实现单机抢票系统

MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。 消息中间件最主要的作用是解耦,中间…

C与C++中的常用符号与标点用法详解及实例

C与C中的常用符号与标点符号有&#xff1a;“”、“-”、“*”、 “/”、“%”、“&”、“\”、“|”、“~”、“^”、“&”、“|”、“&#xff01;”、“>”、“<”、""、“#”、“&#xff1f;”、“&#xff0c;”、“.”、“&#xff1a;”、单引…

d3rlpy离线强化学习算法库安装及使用

GitHub - takuseno/d3rlpy: An offline deep reinforcement learning library d3rlpy&#xff0c;离线强化学习算法库 我装在windows下用anaconda&#xff0c;按照官网教程 conda install -c conda-forge d3rlpy 第一次安装报错CondaSSLError: OpenSSL appears to be unavaila…

Kubernetes的service详解

文章目录Service介绍Service类型Service使用ClusterIP类型的ServiceHeadLiness类型的ServiceNodePort类型的ServiceLoadBalancer类型的ServiceExternalName类型的ServiceIngress介绍Service介绍 在kubernetes中&#xff0c;pod是应用程序的载体&#xff0c;我们可以通过pod的i…

程序人生 | 与足球共舞的火柴人(致敬格拉利什,赋予足球更深的意义)

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;也会涉及到服务端 &#x1f4c3;个人状态&#xff1a; 在校大学生一枚&#xff0c;已拿多个前端 offer&#xff08;秋招&#xff09; &#x1f680;未…

从0开始学游戏开发

对于开发而言&#xff0c;了解一下如何从零开始做游戏是一个非常有趣且有益的过程(并不)。这里我先以大家对游戏开发一无所知作为前提&#xff0c;以一个简单的游戏开发作为.从0开始学游戏开发。 写在最前面 对于开发而言&#xff0c;了解一下如何从零开始做游戏是一个非常有趣…

Twice-JavaSE01

狂神学习路线&#xff1a; 今天又重头开始复习Java了&#xff0c;不顾一切往前冲吧。 空常量null不能直接输出。其他几种基本数据类型可以直接输出。 定义变量时要给赋值才行&#xff0c;浮点型默认为double,float类型后要加f. 注意&#xff1a;byte和short不能直接跟char做…

【强化学习论文合集 | 2019年合集】一. ICML-2019 强化学习论文

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。 本专栏整理了近几年国际顶级会议中,涉及强化学习(Rein…

C++-容器:string使用介绍(非常全面,详细)

string的初始化 1.常见初始化方式 string对象的初始化和普通类型变量的初始化基本相同&#xff0c;只是string作为类&#xff0c;还有类的一些特性&#xff1a;使用构造函数初始化。如下表&#xff0c;第2 4 6条是作为类才有的初始化方式&#xff1a; 当然&#xff0c;也可以…

MySQL数据库之事务

MySQL数据库之事务一、事务的概念二、事务的ACID特点2.1 原子性&#xff08;保证事务的整体性&#xff09;2.2 一致性&#xff08;保证数据的完整性&#xff09;2.3 隔离性2.4 持久性三、事务控制语句3.1 测试begin和commit&#xff08;开始事务和提交事务&#xff09;begin开启…

毕业设计-基于机器视觉的车型识别系统

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…

【人脸识别】Octuplet Loss:一个可以提高低分辨率和跨分辨率人脸识别效果的损失

论文题目&#xff1a;《Octuplet Loss:Make Face Recognition Robust to Image Resolution》 论文地址&#xff1a;https://arxiv.org/pdf/2207.06726v1.pdf 代码地址&#xff1a;https://github.com/martlgap/octuplet-loss 1.概述 一般来说&#xff0c;在图像分辨率方面&…

多线程设计模式-全面详解(学习总结---从入门到深化)

目录 Single Thread Execution 设计模式 机场过安检 非线程安全 问题分析 首字母相同却未通过检查 为何出现首字母不相同的情况 线程安全 Future 设计模 Master-Worker 设计模式 生产者消费者设计模式 Immutable 不可变对象设计模式 关于时间日期 API 线程不安全的问题…

Attention机制详解(深入浅出)

目录1. 为什么要有Attention2. Attention机制我们都知道&#xff0c;对于人类来说注意力是非常重要的一件事。有了注意的能力我们才能在一个比较复杂的环境中&#xff0c; 把有限的注意力放到重要的地方。在这一节中&#xff0c;我们将了解如何使得我们的网络也具有产生注意力的…

47. 全排列 II

关上过去和未来的铁门&#xff0c;活在“今天”这个舱室中。 ——《人性的优点》 47. 全排列 II 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输…

蓝桥杯嵌入式AT24C02

文章目录前言一、AT24C02原理图二、IIC通信协议三、代码编写1.拷贝官方驱动程序2.编写AT24C02读写函数1.查看AT24C02芯片手册确定AT24C02器件地址2.读函数编写3.写函数编写4.代码使用总结前言 本文将带大家了解IIC协议&#xff0c;并带大家编写AT24C02的驱动代码。 一、AT24C…

MySQL-MHA高可用配置及故障切换

文章目录一、MHA概述二、MHA的组成1、MHA Node&#xff08;数据节点&#xff09;2、MHA Manager&#xff08;管理节点&#xff09;3、MHA 的特点四、搭建步骤实验思路实验操作故障模拟故障切换备选主库的算法一、MHA概述 MHA&#xff08;MasterHigh Availability&#xff09;是…

Java搭建宝塔部署实战毕设项目SpringBoot大学生就业信息管理源码

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。 本期给大家带来一套Java开发的毕设项目SpringBoot大学生就业信息管理源码&#xff0c;适合拿来做毕业设计的同学。可以下载来研究学习一下&#xff0c;本期把这套系统分享给大家。 技术架构 技术框架&#xff1a…

(ICIP-2019)通过神经结构搜索进行视频动作识别

通过神经结构搜索进行视频动作识别 paper题目&#xff1a;VIDEO ACTION RECOGNITION VIA NEURAL ARCHITECTURE SEARCHING paper是奥卢大学发表在ICIP 2019的工作 paper地址&#xff1a;链接 ABSTRACT 深度神经网络在视频分析和理解方面取得了巨大成功。然而&#xff0c;设计高…