Matplot学习总结

2023-05-16

数据可视化库Matplotlib学习总结

更新日期:20181109

安装

#需要先安装numpy
pip install numpy
pip install matplotlib

如果下载速度慢可以参考:

https://blog.csdn.net/m0_37340681/article/details/84109320

官网

https://matplotlib.org/users/index.html

示例

https://blog.csdn.net/qq_34337272/article/details/79555544

函数详解

https://www.cnblogs.com/TensorSense/p/6802280.html
https://www.cnblogs.com/nxld/p/7435930.html

一.常用函数解释

  1. plt.savefig()
#将绘制的图画保存成png格式,命名为test
#如果不输入后缀则默认保存为png格式
#可支持的格式有:eps, pdf, pgf, png, ps, raw, rgba, svg, svgz
#dpi参数表示分辨率,默认即可
plt.savefig(‘test’, dpi = 600) 
  1. plt.ylabel()
#该函数可以给x或者y轴设置坐标名
plt.xlabel(‘Axis X’)
plt.ylabel(‘Axis Y’)
  1. plt.axis()
#给坐标轴设置范围
plt.axis([0, 10, 0, 6]) 
  1. plt.subplot()
#设置绘图区域,三个参数分别表示行、列、在哪个区域绘图
plt.subplot(3,2,4)
  1. 文本显示
plt.grid(True/False):是否绘制网格
plt.xlabel():对x轴增加文本标签
plt.ylabel():同理
plt.title(): 对图形整体增加文本标签
plt.text(): 在任意位置增加文本
plt.annotate(s, xy = arrow_crd, xytext = text_crd, arrowprops = dict):
在图形中增加带箭头的注解。s表示要注解的字符串是什么,xy对应箭头所在的位置,xytext对应文本所在位置,arrowprops定义显示的属性

示例:
plt.annotate('yes',xy=(1,5),xytext=(2,10),arrowprops = dict(facecolor = "r", headlength = 5, headwidth = 10, width = 3))
plt.text(2,5,'Test')
  1. 绘图函数
plt.plot(x,y , fmt)  :绘制坐标图

plt.boxplot(data, notch, position): 绘制箱形图

plt.bar(left, height, width, bottom) : 绘制条形图

plt.barh(width, bottom, left, height) : 绘制横向条形图

plt.polar(theta, r) : 绘制极坐标图

plt.pie(data, explode) : 绘制饼图

plt.scatter(x, y) :绘制散点图

plt.hist(x, bings, normed) : 绘制直方图
  1. plt.plot()
plt.plot(x,y,'go-',x,y*2,'*',x,y*3,'^')
plt.plot(x,y,'go-',color='#F0800F')
# 折线图绘制函数,第一个参数为x轴数据,可为列表或数组;y同理
# 后面的参数代表线条格式
# 后面还可以跟更多参数绘制第二根折线
线条格式参数列表:
格式由颜色字符、风格字符和标记字符组成。
颜色字符:'b'蓝色;'#008000'RGB某颜色;'0.8'灰度值字符串
风格字符:'-'实线;'--'破折线;'-.'点划线;':'虚线;‘’‘’无线条
标记字符:'.'点标记;'o'实心圈;'v'倒三角;'^'上三角
  1. plt.pie()
labels = 'T1','T2','T3'
sizes = [1,2,3]
explode = (0,0.05,0)
plt.pie(sizes,explode=explode,labels=labels,autopct='%.1f%%',shadow=False,startangle=45)
# explode表示突出,如橘色这一块突出;autopct  表示显示数据的格式; shadow表示二维饼图;startangle表示起始的角度;

此为椭圆形饼图,要为圆形,可添加:  plt.axis(‘equal’)
  1. plt.hist()
np.random.seed(0)
mu,sigma = 100,20 #均值和方差
a = np.random.normal(mu,sigma,size=100)

plt.hist(a,40,normed=1,histtype='stepfilled',facecolor='b',alpha=0.75)

# 40代表划分区间数,直方图柱个数
# normed =1 表示将出现频次进行了归一化,即显示的是频率。 normed=0,则显示频次;
# alpha表示直方图的透明度[0, 1] ;
# histtype = ‘stepfilled’  表示去除条柱的黑色边框,可选参数:histtype : {'bar', 'barstacked', 'step', 'stepfilled'}
  1. plt.polar()
N=10
theta = np.linspace(0.0,2*np.pi,N,endpoint=False)
radii = 10*np.random.rand(N)
width = np.pi/4*np.random.rand(N)

ax = plt.subplot(111,projection='polar')
bars = ax.bar(theta,radii,width=width,bottom=0.0)

for r,bar in zip(radii,bars):
    bar.set_facecolor(plt.cm.viridis(r/10.))
    bar.set_alpha(0.5)
  1. 散点图
fig,ax = plt.subplots()
ax.plot(10*np.random.randn(100),10*np.random.randn(100),'o')

二.完整程序示例

import numpy as np
import matplotlib.pyplot as plt
#折线图
x = np.array([1,2,3,4,5,6,7,8])
y = np.array([3,5,7,6,2,6,10,15])
plt.plot(x,y,'g',lw=10) #第三个参数代表颜色,第四个参数代表粗细
#条形图
x = np.array([1,2,3,4,5,6,7,8])
y = np.array([13,25,17,36,21,16,10,15])
plt.bar(x,y,0.2,alpha=0.5,color='b')#0.2代表粗细,alpha代表透明度
plt.show()

image

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

Matplot学习总结 的相关文章

  • ### 配置静态 LACP 模式链路聚合

    两台 Switch 设备上配置静态 LACP模式链路聚合组 xff0c 提高两设备之间的带 宽与可靠性 xff0c 具体要求如下 xff1a 2 条活动链路具有负载分担的能力 两设备间的链路具有 1 条冗余备份链路 xff0c 当活动链路出
  • 单片机通用配置(基于STC12C5A60S2)

    快速导航 STC12已封装好的函数库 已封装成一个头文件方便调用 config h span class token macro property span class token directive keyword ifndef span
  • 解答:为什么判断一个数是否为素数时只需开平方根就行了!

    这属于算法上的问题 xff0c 好好考虑一下算法 xff0c 还要考虑一下素数的定义 素数是只有1和本身能整除的整数 所以在求素数的时候 xff0c 要将素数与1到素数本身中间的所有整数都相除 xff0c 看是否有整除的数 xff0c 如果
  • 使用adb命令从Android手机中取出已安装的app包,导出apk

    第一步 xff1a 首先连接手机 xff0c 连接的电脑可执行adb命令 查看电脑连接的设备 adb devices 查询需要导出的包名 xff08 这里可进行猜测 xff0c 也可用普遍逻辑 xff09 比如 xff1a 喜马拉雅 xff
  • Snorkel 学习笔记 简介与入门 LF TF SF Labeling Functions Transformation Function Slicing Function 示例

    文章目录 Snorkel简介与入门1 背景2 LF Labeling Function 标注函数3 TF Transformation Function 转换函数4 SF Slicing Functions 剪切函数Ref Snorkel简
  • 搜索框的实现(前后端交互)

    js文件 编写js脚本文件 创建服务器 添加路由 响应html文件 引入模块 const express 61 require 39 express 39 创建服务器 const app 61 express 设置端口 app listen
  • 树莓派刷机

    目录 一 树莓派刷机方法 xff08 一 xff09 二 树莓派刷机方法 xff08 二 xff09 一 树莓派刷机方法 xff08 一 xff09 0 准备一张SD卡 xff0c 和一个读卡器 xff0c 将SD卡插入读卡器 xff0c
  • Oracle 创建用户详解(create user)

    文章目录 1 概述2 操作 2 1 创建3 2 查询 3 表空间 1 概述 span class token number 1 span 实际开发中 xff0c 不同业务系统使用 span class token string 39 不同的
  • 关于高德地图添加Marker遇到的一些坑

    最近有一个需求 xff0c 是一个出行类的App xff0c 需要在乘客下单后在地图上显示乘客的头像以及司机的头像 这时候就需要在地图上插上一个marker ImageLoader loadLisenter mContext headUrl
  • [sumo]路网建立方法

    在sumo 中友两种创建路网的方法 xff0c 可以将路网理解为地图 xff0c 这里采用编写脚本文件的方式创建 一 xff0c 创建节点脚本 节点就是道图的拐点 xff0c 十字路口等其他一些路径变化的结点 下面以口字型环路为例介绍 xf
  • GO 权限管理之 Casbin

    GO 权限管理之 Casbin 我们来回顾一下上次分享的 GO中 gjson 库的应用和分享 xff0c 它主要是提供了一种非常快速且简单的方式从json文档中获取相应值 分享了 json与 gjson分别代表什么gjson 的简单使用gj
  • Android关闭SdcardFS

    Author Gary Date 2019 8 26 参考博客 xff1a https blog csdn net pen cil article details 79842706 由于项目先在Android6上进行实现的 xff0c 现需
  • 零基础树莓派无键盘鼠标显示器的初始配置方法

    Author Gary Li Date 2019 11 19 Ref https blog csdn net m0 37340681 article details 84262359 https www jianshu com p 3f4f
  • bash与dash的转换

    由于安装PetaLinux时需要设置 bin sh指向为bash xff0c 否则会报出错误 xff1a WARNING bin sh is not bash 转换的方法入下 xff1a 方法一 xff1a 查看当前是bash还是dash
  • Cosmos(ZYNQ)编译运行Linux系统

    Author Gary Data 2019 12 24 Ref ug1144 petalinux tools reference guide pdf https www cnblogs com vacajk p 6146146 html h
  • NR PDCCH (三)DCI传输过程

    微信同步更新欢迎关注同名 modem协议笔记 PDCCH 承载的data就是DCI xff0c 在PDCCH 盲检时需要用正确的RNTI进行解扰和CRC校验 xff0c 才能确认DCI是不是发送给UE的 xff0c 为什么是这样的decod
  • 创建虚拟块设备及挂载

    Author Gary Date 2020 9 16 Ref https www jianshu com p 889bc1621dc3 在学习一个文件系统时 xff0c 将其真正的挂载 xff0c 执行一些读写操作 xff0c 将其运行起来
  • Linux查看多种硬件信息的指令

    查看内存大小 xff1a cat proc meminfo 或者 lsmem 查看DDR版本 xff1a sudo dmidecode t memory grep 39 Type 39 查看内存厂商 xff1a sudo dmidecode
  • git删除子模块

    删除 gitmodules文件或者删除其中的对应项 rm gitmodules 2 从 git config删除相关部分 xff0c 例如 xff1a 3 删除cache git rm cached lt 子模块路径 gt 4 删除模块文件
  • Ubuntu搭建socks5服务

    更新源 xff1a sudo apt update安装 xff1a sudo apt install dante server备份原配置文件 xff1a sudo mv etc danted conf etc danted conf bak

随机推荐

  • 使用docker安装gem5

    编号又是一团糟 xff01 xff01 完全搞不懂CSDN编辑器的编号方法了 官方参考文档 xff1a gem5 Building gem5 实测里面的地址不知道为什么pull不了 xff0c 用了梯子也不行 现在有2个选择 xff0c 第
  • 从指定块地址中读出数据及F2FS inode分析

    有时候我们为了分析文件系统结构等目的 xff0c 需要从指定的块地址中读取数据出来分析 这时候我们可以用两个Ubuntu自带的工具 xff0c filefrag用于获取inode的块地址 xff0c dd命令或者nvme cli 仅适用于N
  • Hadoop3.1.1+Ubuntu18.04虚拟机三种部署方式

    一 xff0e 安装虚拟机 xff1a 在3台电脑中或者3个虚拟机中安装Ubuntu系统 xff0c 并测试三台电脑能互相ping通 二 xff0e 安装Java xff1a 1 在3台Ubuntu电脑中安装Oracle Java 8 由于
  • Spark 2.3+Ubuntu18简单安装过程

    安装Scala xff1a 到官网下载最新版本的scala 2 12 7 xff0c 并拷贝至虚拟机中 https www scala lang org download 解压 sudo mkdir usr lib scala sudo t
  • 2.6.34内核编译

    2 6 34内核编译 内核版本号 xff1a 2 6 34 15 系统版本号 xff1a 12 04 05 虚拟机 xff1a VMware 12 更新日期 xff1a 20181102 准备工作 下载Vmware并破解下载Ubuntu12
  • 32位内核增加系统调用

    32位内核增加系统调用 内核版本 xff1a 2 6 34 15 系统版本 xff1a Ubuntu 12 04 系统位数 xff1a 32位 更细日期 xff1a 20181102 一 修改系统调用表 在文件arch x86 kernel
  • 解决WinSCP连接虚拟机

    介绍一个 FTP客户端 IIS7服务器管理工具 作为FTP客户端 xff0c 它支持批量管理ftp站点 定时上传和定时下载 xff0c 定时备份 xff0c 且操作简洁 同时iis7服务器管理工具还是vnc客户端 并且支持批量管理管理win
  • Linux关闭MySQL的日志记录功能

    网上找了很多的博客 xff0c 但是位置都不对或者是个空文件 最终找到的配置文件位于 etc mysql mysql conf d路径下的mysqld cnf文件用管理员权限编辑文件 xff0c 在文件内添加 innodb flush lo
  • Python3 lambda,map,reduce,filter

    Python3 lambda map reduce filter 转载自 https www cnblogs com hf8051 p 8085424 html https blog csdn net BobYuan888 article
  • Spark+Python函数总结

    Spark 43 Python函数总结 整理自 https www cnblogs com yangzhang home p 6058076 html https blog csdn net nanruoanhao article deta
  • Spark + Python入门

    Spark 43 Python实践入门 整理自 xff1a https www cnblogs com yangzhang home p 6056133 html http spark apache org docs latest quic
  • Numpy函数总结

    Numpy函数总结 整理自 https www jianshu com p 83c8ef18a1e8 基础属性 引入模块 gt gt gt import numpy as np 创建一个list并转化为numpy数组 创建简单的列表 gt
  • pip提速方法

    Author Gary Date 2019 4 12 方法1 在pip参数中添加镜像源地址 豆瓣 xff1a http pypi douban com simple 清华 xff1a https pypi tuna tsinghua edu
  • 使ssh可以以root用户直接登录

    出于安全考虑 ubuntu默认不允许root远程登录 解决方案 安装openssh软件 sudo apt install y openssh server 编辑 SSH 的文件 sudo nano etc ssh sshd config 将
  • 安装Arduino以及ESP8266开发环境

    安装Arduino以及ESP8266开发环境 Author Gary 更新日期 2018 11 20 1 下载安装ArduinoIDE 没什么好说的 xff0c 下载地址 xff1a https www arduino cc en Main
  • 使用Screen来管理终端

    使用Screen来管理终端 转载整理自 xff1a https blog csdn net u013901768 article details 81189348 需要使程序一直运行的情况下 xff0c 可以采用开机自启动的方式 这里为了便
  • 终端关闭后让程序继续运行

    更新 实测此方法有问题 xff0c ctrl 43 z后进程会停止运行 xff0c 即使挂起了也没用了 xff0c 如需挂起后还能继续执行请参考https blog csdn net m0 37340681 article details
  • HiveDDL

    一 数据类型 1 基本数据类型 Hive数据类型 Java数据类型 长度 例子 TINYINT byte 1byte有符号整数 20 SMALINT short 2byte有符号整数 20 INT int 4byte有符号整数 20 BIG
  • Linux解除端口占用-kill进程总结

    Linux解除端口占用 需要解除端口占用时 xff0c 可以通过端口或者进程名查找进程 xff0c 再通过该进程的pid来杀掉该进程 xff1b 也可以通过进程名直接杀死进程 方法1 根据端口查找进程 sudo lsof i lt 端口号
  • Matplot学习总结

    数据可视化库Matplotlib学习总结 更新日期 20181109 安装 需要先安装numpy pip install numpy pip install matplotlib 如果下载速度慢可以参考 https blog csdn ne