Python可视化库matplotlib(基础整理)

https://blog.csdn.net/weixin_39777626/article/details/78598346

绘制基本曲线使用plot函数绘制函数曲线,可以调整plot函数参数配置曲线样式、粗细、颜色、标记等
设置坐标轴(1.)spines移动坐标轴(2.)xlim方法设置坐标轴刻度取值范围(3.)xticks,yticks方法设置x,y轴的刻度标签值(4.)title方法设置标题,xlabel,ylabel方法设置坐标轴描述设置图片上的描述(1.)text方法设置图片上的文字描述和注解(2.)annotate方法对图片上某个点加注解(3.)legend方法设置图像图例可使用如下两种方式: 1: 在 plt.plot 函数中添加 label 参数后,使用 plt.legend(loc=’up right’) 2: 不使用参数 label, 直接使用如下命令:
网格线开关plt.grid(True)图像显示plt.show()图像保存savefig(‘../ / .png’)常用图形(1)曲线图:描绘波动,2个维度matplotlib.pyplot.plot(data) (2)灰度图:直方图,1个维度matplotlib.pyplot.hist(data) (3)散点图:2个维度数据的关联程度matplotlib.pyplot.scatter(data) (4)箱式图:设定上下限,除数据噪声matplotlib.pyplot.boxplot(data) (5)饼状图:各类别占比matplotlib.pyplot.pie(data)
本文下述各个代码片段都是独立运行的,其文章里其余代码片段无关。
一幅数据图基本上包括如下结构: Data: 数据区,包括数据点\描绘形状 Axis: 坐标轴,包括X轴\Y轴及其标签、刻度尺及其标签 Title: 标题,数据图的描述 Legend: 图例,区分图中包含的多种曲线或不同分类的数据 其他的还有图形文本 (Text)\注解 (Annotate)等其他描述
绘制基本曲线使用plot函数绘制函数曲线,可以调整plot函数参数配置曲线样式、粗细、颜色、标记等
%matplotlib inline  #图嵌入web窗口jupyter notebook中
import numpy as npimport matplotlib.pyplot as pltfrom pylab import *
#准备数据x=np.arange(0.,10,0.2)y1=np.cos(x)y2=np.sin(x)y3=np.sqrt(x)
plt.rcParams['figure.figsize']=(12,8)   #reParams设置图片尺寸plt.plot(x,y1,color='blue',linewidth=1.5,linestyle='-',marker='.',label=r'$y=cos{x}$')plt.plot(x,y2,color='green',linewidth=1.5,linestyle='-',marker='*',label=r'$y=sin{x}$')plt.plot(x,y3,color='m',linewidth=1.5,linestyle='-',marker='x',label=r'$y=\sqrt{x}$')
#color参数设定线颜色#linewidth参数设定虚线、点化虚线、粗虚线、实线#marker参数设定在曲线上标记的特殊符号,以区分不同的线段#label参数和图的legend标号有关12345678910111213141516171819202122

设置坐标轴(1.)spines移动坐标轴%matplotlib inline  import numpy as npimport matplotlib.pyplot as pltfrom pylab import *
ax=plt.subplot(111)  #设置一个空图ax.spines['right'].set_color('none')  #set_color设置右边轴线为透明色ax.spines['top'].set_color('none')
#移动下边边框线,相当于移动x轴ax.xaxis.set_ticks_position('bottom')  #设置水平轴上的坐标轴刻度ax.spines['bottom'].set_position(('data',0))  #set_position设置轴位置:'center' -> ('axes',0.5);'zero' -> ('data', 0.0;('data',anyvalue)
ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',0.1))123456789101112131415 

(2.)xlim方法设置坐标轴刻度取值范围%matplotlib inline  import numpy as npimport matplotlib.pyplot as pltfrom pylab import *x=np.arange(0.,10,0.2)plt.xlim(x.min()*1.1,x.max()*1.1)plt.ylim(-1.5,4.0)1234567

(3.)xticks,yticks方法设置x,y轴的刻度标签值%matplotlib inline  import numpy as npimport matplotlib.pyplot as pltfrom pylab import *x=np.arange(0.,10,0.2)plt.xlim(x.min()*1.1,x.max()*1.1)plt.ylim(-1.5,4.0)plt.xticks([2,4,6,8,10],[r'two',r'four',r'six',r'8',r'10'])plt.yticks([-1.0,0.0,1.0,2.0,3.0,4.0],[r'bottom',r'0.0',r'1.0',r'2.0',r'3.0',r'4.0'])123456789

(4.)title方法设置标题,xlabel,ylabel方法设置坐标轴描述%matplotlib inline  import numpy as npimport matplotlib.pyplot as pltfrom pylab import *x=np.arange(0.,10,0.2)plt.xlim(x.min()*1.1,x.max()*1.1)plt.ylim(-1.5,4.0)plt.xticks([2,4,6,8,10],[r'two',r'four',r'six',r'8',r'10'])plt.yticks([-1.0,0.0,1.0,2.0,3.0,4.0],[r'bottom',r'0.0',r'1.0',r'2.0',r'3.0',r'4.0'])plt.title(r'$the \ function \ figure \ of \ cos(), \ sin() \ and \ sqrt()$',fontsize=19)  #fontsize参数设置字体大小#'\'号两侧必须各有一个空格字符,否则无法解析plt.xlabel(r'$the \ input \ value \ of \ x$',fontsize=18,labelpad=18.8)  #labelpad参数设置描述距离轴远近plt.ylabel(r'$y=f(x)$',fontsize=18,labelpad=12.5)12345678910111213

设置图片上的描述(1.)text方法设置图片上的文字描述和注解%matplotlib inline  import numpy as npimport matplotlib.pyplot as pltfrom pylab import *x=np.arange(0.,1,0.02)plt.xlim(x.min()*1.1,x.max()*1.1)plt.ylim(-1.5,4.0)plt.text(0.8,2.9,r'$x \in [0.0, \ 10.0]$',color='k',fontsize=10)plt.text(0.8,0.8,r'$y \in [-1.0, \ 4.0]$',color='k',fontsize=10)123456789

(2.)annotate方法对图片上某个点加注解%matplotlib inline  import numpy as npimport matplotlib.pyplot as pltfrom pylab import *x=np.arange(0.,10,0.2)plt.xlim(x.min()*1.1,x.max()*1.1)plt.ylim(-1.5,4.0)plt.scatter([8,],[np.sqrt(8),],50,color='m')  #使用散点图放大当前点plt.annotate(r'$2\sqrt{2}$',xy=(8,np.sqrt(8)),xytext=(8.5,2.2),fontsize=16,color='#090909',\             arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=0.1',color='#090909'))#xy参数设置'被注解点'的坐标,xytext参数设置'注解文字'的位置,arrowprops参数设置注解文字与被注解点的连接方式1234567891011

(3.)legend方法设置图像图例可使用如下两种方式: 1: 在 plt.plot 函数中添加 label 参数后,使用 plt.legend(loc=’up right’)
%matplotlib inline  import numpy as npimport matplotlib.pyplot as pltfrom pylab import *x=np.arange(0.,10,0.2)y1=np.cos(x)y2=np.sin(x)y3=np.sqrt(x)plt.rcParams['figure.figsize']=(10,6)   #reParams设置图片尺寸plt.plot(x,y1,color='blue',linewidth=1.5,linestyle='-',marker='.',label=r'$y=cos{x}$')plt.plot(x,y2,color='green',linewidth=1.5,linestyle='-',marker='*',label=r'$y=sin{x}$')plt.plot(x,y3,color='m',linewidth=1.5,linestyle='-',marker='x',label=r'$y=\sqrt{x}$')plt.legend(loc='upper right')  #loc参数设置图例在图片中的位置12345678910111213

2: 不使用参数 label, 直接使用如下命令:
%matplotlib inline  import numpy as npimport matplotlib.pyplot as pltfrom pylab import *x=np.arange(0.,10,0.2)y1=np.cos(x)y2=np.sin(x)y3=np.sqrt(x)plt.rcParams['figure.figsize']=(10,6)   #reParams设置图片尺寸plt.plot(x,y1,color='blue',linewidth=1.5,linestyle='-',marker='.')plt.plot(x,y2,color='green',linewidth=1.5,linestyle='-',marker='*')plt.plot(x,y3,color='m',linewidth=1.5,linestyle='-',marker='x')plt.legend(['cos(x)','sin(x)','sqrt(x)'],loc='upper right')  #对好顺序12345678910111213

网格线开关plt.grid(True)plt.grid(True)1图像显示plt.show()plt.show()1图像保存savefig(‘../ / .png’)savefig('../imagetest/picname.png',dpi=48)1常用图形(1)曲线图:描绘波动,2个维度matplotlib.pyplot.plot(data)
%matplotlib inline  import numpy as npimport matplotlib.pyplot as pltfrom pylab import *x=np.arange(-5,5,0.1)y=x**2plt.plot(x,y)plt.grid(True)plt.show()123456789

(2)灰度图:直方图,1个维度matplotlib.pyplot.hist(data)
%matplotlib inline  import numpy as npimport matplotlib.pyplot as pltfrom pylab import *x=np.random.normal(size=1000)plt.hist(x,bins=10)  #bins参数设置分桶数目123456

(3)散点图:2个维度数据的关联程度matplotlib.pyplot.scatter(data)
%matplotlib inline  import numpy as npimport matplotlib.pyplot as pltfrom pylab import *plt.rcParams['figure.figsize']=(8,8)x=np.random.normal(size=1000)y=np.random.normal(size=1000)plt.scatter(x,y)12345678

(4)箱式图:设定上下限,除数据噪声matplotlib.pyplot.boxplot(data) 箱式图(箱线图)科普: 上边缘(Q3+1.5IQR)、下边缘(Q1-1.5IQR)、IQR=Q3-Q1 上四分位数(Q3)、下四分位数(Q1) 中位数 异常值 处理异常值时与3σσ标准的异同:统计边界是否受异常值影响、容忍度的大小
%matplotlib inline  import numpy as npimport matplotlib.pyplot as pltfrom pylab import *x=np.arange(-5,5,0.1)plt.boxplot(x)123456

(5)饼状图:各类别占比matplotlib.pyplot.pie(data)
%matplotlib inline  import numpy as npimport matplotlib.pyplot as pltfrom pylab import *sort=['Foxes','Cats','Dogs','Pigs']sizes=[13,30,30,37]color=['m','b','g','r']explode=(0,0.1,0,0)   #分离第2类,数值表示分离远近plt.pie(sizes,explode=explode,labels=sort,colors=color,autopct='%1.1f%%',shadow=True)  #autopct参数加百分比123456789
--------------------- 作者:Young_618 来源:CSDN 原文:https://blog.csdn.net/cymy001/article/details/78344316 版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/longbaobao326/p/10878891.html

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

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

相关文章

GROUP BY和HAVING用法介绍

一、group by 和 having 1、满足“SELECT子句中的列名必须为分组列或列函数”,因为SELECT有group by中包含的列 2、having必须和group by一起用,且在group by后面 3、group by、having、order by的使用顺序:group by 、having、order by …

马蜂窝推荐系统容灾缓存服务的设计与实现

数据库突然断开连接、第三方接口迟迟不返回结果、高峰期网络发生抖动...... 当程序突发异常时,我们的应用可以告诉调用方或者用户「对不起,服务器出了点问题」;或者找到更好的方式,达到提升用户体验的目的。 一、背景 用户在马蜂窝…

1、两数之和

1、两数之和 难度简单9226收藏分享切换为英文关注反馈 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能…

Yii 2.0 GII 访问404错误

网上大部分都是普通的开启和配置资料 按照网上资料配置 访问localhost/index/php?rgii 总是提示404错误 解决方法如下: Yii基础版中的 web.php 代码如下 if (YII_ENV_DEV) {// configuration adjustments for dev environment$config[bootstrap][] debug;$config…

云监控指标介绍

监控指标含义MySQL的总连接数 允许同时连接DB的客户端的最大线程数 已经创建的连接数 Threads_created是为处理连接而创建的线程数 已经连接的连接数 Thread_connected当前打开的连接数 活跃连接数 Threads_running官方说法“没有sleep的线程数”。激活的连接数&#xff…

Vivado Bit文件压缩

前言 Vivado编译生成的Bit文件太大,想要小一点该咋办呢?那么就需要给bit文件瘦身。 流程 直接在约束文件xdc中添加下述语句即可: set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design] 未压缩前 压缩后 根据工程不同,还…

Mac安装webpack步骤,失败npm ERR! Error: EACCES: permission denied, access,亲测有效

安装webpack步骤 Mac在终端先获取root权限 在mac下依赖包要写入系统重要文件夹里,由于没有先获取root权限所以写入失败,导致安装失败。失败显示: npm ERR! code EACCES npm ERR! syscall access npm ERR! path /usr/local/lib/node_modules…

iview -- vue modal 显示到最顶层 层级

给想要显示到顶层的modal 设置class属性 .my-modal-parent {position: fixed; // 浮动z-index: 999999; } 转载于:https://www.cnblogs.com/mafeng/p/10885471.html

Mac安装webpack报错gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1解决

安装webpack ,报错提示 gyp ERR! configure error gyp ERR! stack Error: gyp failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/cnpm/node_modules/node-gyp/lib/configure.js:345:16) gyp ERR! stack a…

黑客攻防技术宝典web实战篇:攻击应用程序逻辑习题

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案。 1. 何为强制浏览?可以通过它确定哪些漏洞? 强制浏览包括避开浏览器导航对应用程序功能访问顺序实施的任何限制。应使用强制浏览测试多阶段…

111111

表单控件在实际开发中是非常常见的。特别是对于用户信息的提交,需要大量的表单。 Vue中使用v-model指令来实现表单元素和数据的双向绑定。 案例的解析: 当我们在输入框输入内容时 因为input中的v-model绑定了message,所以会实时将输入的内容传…

野性的呼唤

记得之前老师就给我推荐过这本书,一直没机会去读它,正好这次利用闲暇时间,探究这本书讲述的故事。《野性的呼唤》这本书的主角是一条狗,名叫巴克,作者以第一人称,拟人化的手法,讲述他从一只富人…

[BZOJ2655] calc

题目链接 BZOJ:https://www.lydsy.com/JudgeOnline/problem.php?id2655 Solution 设\(f_i\)表示长度为\(i\)的序列个数,\(g_{i,x}\)表示含有\(x\)的序列个数,注意这里不考虑顺序,顺序答案直接乘\(n!\)就好了。 首先很显然可以得到…

npm搭建cli脚手架不成功

npm 装脚手架不成功,可以尝试删文件夹 C盘-users-administrator-AppData-Roaming 下面的 npm-cache即可

递归与栈的关系

递归与栈的关系: 可是为何执行了900多次就出错了呢?还说超过了最大递归深度现在,为什么要限制呢? 通俗来讲,是因为每个函数在调自己的时候还没有退出,占内存,多了肯定会导致内存崩溃。 本质上讲…

箭头函数用法

1.基本使用 2.参数和返回值 函数里只有一行代码 log没有返回值,所以是undefined 结果为 Hello Demo undefined 箭头函数: 在函数作为另外一个函数参数的时候,适合用箭头函数 3.箭头函数的this 返回值都是window 返回值,一…

Android源码分析(十一)-----Android源码中如何引用aar文件

一:aar文件如何引用 系统Settings中引用bidehelper-1.1.12.aar 文件为例 源码地址:packages/apps/Settings/Android.mk LOCAL_PATH: $(call my-dir) include $(CLEAR_VARS)LOCAL_SRC_FILES : \$(call all-logtags-files-under, src)LOCAL_MODULE : setti…

云计算值得学习吗?云计算开发技术与应用未来工作前景

云计算技术的工作前景本人非常看好,其实已经不是我自己看好的事了,而是现在本来就已经很好很火了,在云计算的基础上又存生出大量其他产业链,归根结底还是云计算是前有技术的综合体,一会儿总结,那么工作前景…

路由的导航守卫

全局导航守卫 打印一下to,看是啥 meta 元数据(描述数据的数据) 3、路由独享的守卫 保留状态 keep-alive 保持组件不要频繁进行创建和销毁 activated deactivated 只有被保存了状态,使用了keep-alive时才起作用 和正则…

优酷项目

本作业涵盖内容:线程池,锁机制,session验证机制,简易版orm,大文件md5校验,数据库操作 cookie,session,token 彻底理解cookie,session,token 客户端 客户端讲解…