【Python数据分析】matplotlib绘图

2023-05-16

matplotlib 是一个 Python 的 2D绘图库,用于数据可视化。它可以函数的方式操作各个绘图命令(类似Matlab软件,Matplotlib名字的含义就是Matlab风格的绘图库),也可以以面向对象的方式。

它有以下优点:

绘图质量高,可绘制出版物质量级别的图形。
代码够简单,易于理解和扩展,使绘图变得轻松。
兼容Tex 文本,可编写复杂的数学公式(如带上标下标,希腊字母)。
可嵌入图形用户界面,用于应用程序开发。 免费和开源

导包
import matplotlib.pyplot as plt

一、快速绘图

# 准备绘图数据
import numpy as np
x=np.arange(0,1,0.05)
print(x)

[0. 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65
0.7 0.75 0.8 0.85 0.9 0.95]

#y=sin(2*pi*x)
y=np.sin(2*np.pi*x)
print(y)

[ 0.00000000e+00 3.09016994e-01 5.87785252e-01 8.09016994e-01
9.51056516e-01 1.00000000e+00 9.51056516e-01 8.09016994e-01
5.87785252e-01 3.09016994e-01 1.22464680e-16 -3.09016994e-01
-5.87785252e-01 -8.09016994e-01 -9.51056516e-01 -1.00000000e+00
-9.51056516e-01 -8.09016994e-01 -5.87785252e-01 -3.09016994e-01]

#plt.plot
plt.plot(x,y)
plt.show()

在这里插入图片描述

# 修改线条颜色,线型
plt.plot(x,y,'b--')#设置蓝色,虚线--
plt.show()

在这里插入图片描述

plt.plot(x,y,'b--*')
plt.show()

在这里插入图片描述

#添加标题
plt.plot(x,y,'b--*')
plt.title('My first plot')
plt.show()

在这里插入图片描述

#添加横纵坐标
plt.plot(x,y,'b--*')
plt.title('My first plot')
plt.xlabel('x lable')
plt.ylabel('y lable')
plt.show()

在这里插入图片描述

#添加图例 两步:添加label='sin';调用plt.legend函数
plt.plot(x,y,'b--*',label='sin')
plt.title('My first plot')
plt.xlabel('x lable')
plt.ylabel('y lable')
plt.legend(loc='best')
plt.show()

在这里插入图片描述

二、添加多个图表 figure和subplot

#添加多个图表 figure和subplot
fig=plt.figure()#创建figure对象
ax1=fig.add_subplot(221) #221代表两行、两列、第一个图
ax2=fig.add_subplot(222)
ax3=fig.add_subplot(223)
plt.show()

在这里插入图片描述

#添加多个图表 figure和subplot
#绘制某个图表
fig=plt.figure()#创建figure对象
ax1=fig.add_subplot(221) #221代表两行、两列、第一个图
ax2=fig.add_subplot(222)
ax3=fig.add_subplot(223)
ax2.plot(x,y)
plt.show()

在这里插入图片描述

三、颜色、线条、标记

#颜色、线型、标记
#方法一:
fig=plt.figure()
ax=fig.add_subplot(111)
ax.plot(x,y,'r--*')
plt.show()

在这里插入图片描述

# 方法二:根据对象参数设置
fig=plt.figure()
ax=fig.add_subplot(111)
ax.plot(x,y,color='b',linestyle='--',marker='*')
plt.show()

在这里插入图片描述

#添加多个图表 :简写方法subplots
# 方法一:
fig=plt.figure()#创建figure对象
ax1=fig.add_subplot(221) #221代表两行、两列、第一个图
ax2=fig.add_subplot(222)
ax3=fig.add_subplot(223)
ax2.plot(x,y)
plt.show()

在这里插入图片描述

#方法二:简写方法subplots
fig,ax=plt.subplots(2,2)
#根据索引定位
ax[0,1].plot(x,y)
plt.show()

在这里插入图片描述

#标题、标签、图例
fig,ax=plt.subplots()
ax.plot(x,y,'g--o')
ax.set(title='my first plot',xlabel='x',ylabel='y')
ax.legend(loc='best') #设置位置
ax.grid()#添加网格线
plt.show()

在这里插入图片描述

#y2=cos(2*pi*x)
y2=np.cos(2*np.pi*x)
print(y2)

[ 1.00000000e+00 9.51056516e-01 8.09016994e-01 5.87785252e-01
3.09016994e-01 6.12323400e-17 -3.09016994e-01 -5.87785252e-01
-8.09016994e-01 -9.51056516e-01 -1.00000000e+00 -9.51056516e-01
-8.09016994e-01 -5.87785252e-01 -3.09016994e-01 -1.83697020e-16
3.09016994e-01 5.87785252e-01 8.09016994e-01 9.51056516e-01]

fig,ax=plt.subplots()
ax.plot(x,y,'b--*',label='sin')
ax.plot(x,y2,'r--o',label='cos')
ax.legend(loc='best') #自动显示
#ax.legend(loc='upper right') #靠右侧显示
ax.set(title='sin&cos')
plt.show()

在这里插入图片描述

四、将图表保存到本地

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

【Python数据分析】matplotlib绘图 的相关文章

随机推荐

  • 计算统计笔记整理(持更)

    bootstrap方法 基本思想 xff1a 模拟 目的 xff1a 计算 xff08 任意估计的 xff09 标准误差 偏差和置信区间 分类 xff1a 1 参数化bootstrap 分布形式已知 xff0c 或可由样本估计出分布 xff
  • Javascript 分析Javascript事件机制和Settimeout讲解

    线程 JavaScript特点就是单线程 xff0c 理解是 xff0c 同一个时间只能做一件事 那么 xff0c 为什么JavaScript不能有多个线程呢 xff1f 现在我们假设 xff0c JavaScript同时有多个线程 xff
  • 规划人生之一: 嵌入式系统开发or算法开发

    这些天一直为一个问题所烦扰 不知道今后改把精力投入到嵌入式系统如arm dsp等的开发上还是在图像的压缩算法上 由于我们做的是嵌入式系统 在arm开发上还有嵌入式os 所以比较烦杂 而在dsp上还要进行mpeg以及264的开发 不知道那个更
  • vue中点击获取相应元素

    在vue中通过点击事件获取上一个标签 父标签 第一个子标签等元素 以下元素都是以所点击的元素进行查找 e target 获取当前点击的元素 e currentTarget 获取绑定事件的元素 e currentTarget previous
  • http-parser解析http报文详解

    说明 项目里用到力http parser xff0c 在这里简单说明一下其用法吧 下载地址 xff1a https github com joyent http parser 其使用说明很详细 开源用例 开源tcpflow 1 4 4中使用
  • BGP协议介绍

    一 BGP协议概述 BGP用于在不同的自治系统 xff08 AS xff09 之间交换路由信息 当两个AS需要交换路由信息时 xff0c 每个AS都必须指定一个运行BGP的节点 xff0c 来代表AS与其他的AS交换路由信息 通常是路由器来
  • nuxt asyncData extendRoutes nuxtServerInit

    材料来源 realworld 开源项目 asyncData 仅支持服务端 xff0c 页面初始化 xff0c 组件加载之前 xff0c 不能this调用 案例 官方 nuxt config js module span class toke
  • STM32F107的串口通讯总结

    STM32F107的串口通讯总结 STM32F107 的串口通讯总结 1 STM32 的一般规律 xff0c 首先要使用串口必先使能串口时钟 xff0c 比如串口1 xff1a RCC APB2PeriphClockCmd RCC APB2
  • STM32——高级定时器、通用定时器、基本定时器的区别

    TIM1 和 TIM8 定时器的功能包括 增强型 xff1a 16 位向上 向下 向上 下自动装载计数器 16 位可编程 可以实时修改 预分频器 xff0c 计数器时钟频率的分频系数为 1 xff5e 65535 之间的任意数值 多达 4
  • STM32F107的通用定时器中断实验总结

    1 STM32F107 的通用定时器是指 xff1a TIM2 TIM3 TIM4 TIM5 STM32F107 的高级定时器是指 xff1a TIM1 TIM8 STM32F107 的基本定时器是指 xff1a TIM6 TIM7 2 S
  • STM32F107的通用定时器PWM实验总结

    STM32F107 的通用定时器PWM 实验总结 1 STM32F107 的通用定时器是指 xff1a TIM2 TIM3 TIM4 TIM5 2 STM32F107 的通用定时器 xff08 TIM2 TIM3 TIM4 TIM5 xff
  • 鸿蒙WIFI-IoT开发板RTC时钟模块功能实现

    1 RTC时钟模块硬件准备 RTC时钟模块 RTC时钟模块在WiFiIoT套件上的连接 2 RTC时钟模块硬件介绍 RTC时钟模块使用I2C接口为I2C0 xff0c 对应管脚连接说明 xff1a SDA 底板的TX GPIO 13 SCL
  • Android studio新建项目之后由于gradle配置问题导致项目无法运行的个人解决方案分享

    本文主要针对本人自己新建Android Stuido项目的时候遇到的问题的一个经验总结 说明 xff1a IDE为 Android studio 2 1 Preview 1 Windows 8系统 现象描述 xff1a 一路默认设置来创建一
  • VS Code如何在win10环境下运行C/C++

    本篇文章适合有一定基础的同学 一 准备工作 1 安装VS Code xff0c 并且安装C C 43 43 插件 链接 xff1a https code visualstudio com 2 安装MinGW 链接 xff1a http ww
  • 百度2014校招笔试题(一)

    算法和程序设计题 xff1a 1 题意 xff1a 一幢大楼的底层有1001根电线 xff0c 这些电线一直延伸到大楼楼顶 xff0c 你需要确定底层的1001个线头和楼顶的1001次线头的对应关系 你有一个电池 xff0c 一个灯泡 xf
  • 【Python数据分析】Numpy常用操作(二)

    一 常用的数学和统计方法 1 一维数组 span class token comment np random randn 生成随机数组 每运行一次会改变一次 span arr span class token operator 61 spa
  • 【Python数据分析】Pandas常用操作(一)

    pandas基于Numpy构建 xff0c 最初被作为金融数据分析工具使用因此pandas为时间序列分析做了很好的支持 pandas的两种数据结构 xff1a Series和DataFrame 一 Series xff08 index va
  • 【Python数据分析】Pandas常用操作(二)

    一 Pandas中的常用方法 span class token comment 创建一个数据框 span span class token keyword import span numpy span class token keyword
  • 【Python数据分析】Pandas中的绘图函数

    Pandas中有许多能够利用DataFrame对象数据特点来创建标准图表的高级绘图方法 1 折线图 y span class token operator 61 span df span class token punctuation sp
  • 【Python数据分析】matplotlib绘图

    matplotlib 是一个 Python 的 2D绘图库 xff0c 用于数据可视化 它可以函数的方式操作各个绘图命令 xff08 类似Matlab软件 xff0c Matplotlib名字的含义就是Matlab风格的绘图库 xff09