pyplot绘制图片_matplotlib系列之pyplot

1f7c2e12594d79a441cb3ccaeaee0c50.png

pyplot对象包含了一系列用于绘图的函数,使得它工作起来就像MATLIB一样。它的功能例如:

  • 创建一个figure对象

  • 绘制一片绘图区域

  • 在区域中绘制线条或者点

  • 也可以绘制labels

使用pyplot对象快速的生成一幅图片

import matplotlib.pyplot as pltplt.subplot(121)plt.plot([1,2,3,4],[4,5,6,7])plt.subplot(122)plt.plot([1,2,3,4],[4,None,6,7]) ##看有一段为空了plt.ylabel("this is y label")plt.subplots_adjust(right=1,left=0,wspace=0.3) ##调整一下两幅图的间隔plt.show() ## 显示图片

275e58416eb9b526732b9b719abfd575.png

pyplot.plot()函数也可以只提供一个一维数组,这时候函数会将数组作为y轴,而x轴的坐标则是从0开始出发,获取与y轴相同个数的点

pyplot.plot()函数也可以只提供一个一维数组,这时候函数会将数组作为y轴,而x轴的坐标则是从0开始出发,获取与y轴相同个数的点

828a380e752f993897a728461e015ef1.png

同时还可以自定义一个样式,例如

  • 修改线条的类型,

  • 线条的颜色,

  • 坐标轴的范围等

import numpy as npx=np.linspace(0,2,20)y=x*xplt.plot(x,y,'r*') # ro 意思是红色的点 r-- 红色的虚线plt.plot(x+1,y-2,'b^')plt.plot(x,y-0.5,'yd')plt.axis([0,5,0,3]) #x轴和y轴范围

9df496a000874cf3bb3d357313aae42c.png

绘制散点图

pyplot根据data关键字来获取对应的绘图数据

  • 'a'表示从data中获取作为X轴

  • 'b'表示作物y轴的数据

  • c='c'表示映射为对应的颜色

  • s='s' 大小的映射

data = {'a': np.arange(50),        'c': np.random.randint(0, 50, 50),        'd': np.random.randn(50)}data['b'] = data['a'] + 10 * np.random.randn(50)data['d'] = np.abs(data['d']) * 100plt.scatter('a','b',c='c',s='d',data=data)plt.xlabel('entry a')plt.ylabel('entry b')plt.show()

b959979732936d6d775737851a4682d6.png

绘制分类图

  • subplot函数中包含3个参数,其中前两个参数用于将图片按照行和列进行均等分,而第三个参数则是表示显示在哪个分好的格子中

import matplotlib.pyplot as pltname=['a','b','c']values=[1,100,200]plt.figure(figsize=(10,4))plt.subplot(1,2,1) ##将figure均等分为2份plt.bar(name,values)plt.subplot(2,2,2) ##分4份plt.scatter(name,values)plt.subplot(2,2,4) ##分4份plt.plot(name,values)

6e2731fa5243f6a321b943f7918c4306.png

控制线条显示

  • 可以直接在plot对象中对线条进行设置

  • 也可以获取plot返回后的对象,调用plt的setp函数对对象进行操作

import numpy as npx=np.linspace(0,1,20)plt.figure(figsize=(10,10))plt.subplot(2,2,1)lines=plt.plot(x,x*x,'--') ##获取lines对象plt.setp(lines,color="r",linewidth=10.0,alpha=0.5)  ##调用方法对对象进行操作plt.subplot(2,2,2)lines2=plt.plot(x,x*x,'--') ##获取lines对象plt.setp(lines2,color='y',linewidth=2)plt.subplot(2,2,3)lines3=plt.plot(x,x*x,'--') ##获取lines对象plt.setp(lines3,color='black',linewidth=3,animated=True)

59ae37d776d76a8eaedd5f7bb9271916.png

添加文字描述

plt.text函数可以在图中指定位置添加文字注释

  • 第一个参数是x轴位置新

  • 第二个参数是y轴位置新

  • 第三个参数则是添加的文字,可以使用正则表达式,并且空格也需要转义

plt.annotate函数则更加的方便,可以添加箭头信息等

  • arrowprops字典中arrowstyle可以指定箭头类型

mu,sigma=100,15x=mu+sigma*np.random.randn(10000)plt.figure()plt.subplot(121)n,bins,patches=plt.hist(x,50,density=1,color='r',alpha=0.7)plt.text(60,0.02,r'$\mu=100,\ \sigma=15$') ##添加文字,特效符合需要转义plt.grid(True)plt.subplot(122)n,bins,patches=plt.hist(x,50,density=1,color='g',alpha=0.7,orientation='horizontal') ##水平放置plt.grid(True)plt.annotate(r'$Code,\ Hub$',             size=20,             xy=(0.01,120),             xytext=(0.012,140),             arrowprops=dict(facecolor='blue',arrowstyle='->')) ##添加箭头注释信息

f660defb793ba55275f980af69750c45.png

坐标轴对数化

##用于绘制相应对数化后的刻度线from matplotlib.ticker import NullFormatter###获取数据np.random.seed(19680801)y = np.random.normal(loc=0.5, scale=0.4, size=1000)y = y[(y > 0) & (y < 1)]y.sort()x = np.arange(len(y)) ##生成步长为1的指定数目的arrayplt.figure()plt.subplot(2,2,1)## 线性坐标轴plt.plot(x,y)plt.title("liner")plt.grid(True)##对数坐标轴plt.subplot(222)plt.plot(x,y)plt.yscale('log')plt.title('log')plt.grid(True)##对称,log坐标轴plt.subplot(223)plt.plot(x,y-y.mean())plt.yscale('symlog',linthreshy=0.01)plt.title('symlog')plt.grid()##logitplt.subplot(224)plt.plot(x, y)plt.yscale('logit')plt.title('logit')plt.grid(True)plt.subplots_adjust(top=1, bottom=0, left=0.10,                     right=0.95,                     hspace=0.25,                    wspace=0.35 )##调整子图间的间隔

fc0b928b8a3c2cc4c48b53d528eb1be5.png

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

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

相关文章

字符串-----KMP竟然是18禁

今天学了一下午字符串&#xff0c;讲到结束也没讲KMP。有人问老师为什么不讲&#xff0c;老师来一句&#xff1a;字符串noip不考&#xff0c;而且还是18禁&#xff0c;自然不讲。【手动滑稽】 所以我也不讲。【微笑】 1.表达式树 表示35*8 最后计算的符号是根节点&#xff0c;是…

freopen()函数在ACM中的使用

#ifndef ONLINE_JUDGEfreopen("in.txt","r",stdin);#endif https://blog.csdn.net/cfzjxz/article/details/7240165转载于:https://www.cnblogs.com/LLbinGG/p/9414366.html

CSS3详解:background

CSS3对于background做了一些修改&#xff0c;最明显的一个就是采用设置多背景&#xff0c;不但添加了4个新属性&#xff0c;并且还对目前的属性进行了调整增强。 1、多个背景图片 在css3里面&#xff0c;你可以再一个标签元素里应用多个背景图片。代码类似与css2.0版本的写法…

里bl2和bl3为什么分开_英国的水池为什么有两个水龙头?为什么英国有独立的冷热水龙头?...

如果大家看过我之前的文章&#xff0c;可能会有点映像&#xff0c;前面有提到过英国的双水龙头&#xff0c;有兴趣的朋友们可以点后面的直达链接查看&#xff1a;为什么在英国留学会掉头发&#xff1f;怎么办&#xff1f;英国的自来水&#xff08;冷水&#xff09;可以直接喝吗…

html5中折叠面板,Ant Design中折叠面板Collapse

这段时间做react项目遇到一些平常并不会去在意的问题&#xff0c;但解决的时候又需要思考一番。这次开发用到了蚂蚁金服的UI框架Ant Design。项目中有一个模块的样式和功能用到了折叠面板Collapse组件来实现。但是开发完成后有一个问题被产品提到了。问题是这样的&#xff0c;因…

在JBoss的服务器端正确解码URL参数

我今天花了很多时间来弄清楚如何在运行在JBoss上的JSF应用程序中&#xff08;使用JBoss 7 Final&#xff09;强制正确解码编码的字符。 当您有例如通过URL传递中文字符时&#xff0c;就会出现此问题。 假设您有指点事件&#xff0c;编码为&#xff05;E6&#xff05;8C&#xf…

三剑客 老大:awk命令用法

awk是一种编程语言&#xff0c;用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一 个或多个文件&#xff0c;或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能&#xff0c;是linux/unix下的一个强大编程工具。它在命令行中使用&…

SpriteKit在复制节点时留了一个巨坑给开发者,需要开发者手动把复制节点的isPaused设置为false...

根据When an overlay node with actions is copied there is currently a SpriteKit bug where the node’s isPaused property might be set to true提示&#xff0c;SpriteKit有一个Bug需要开发者自己来填。 SpriteNode节点在被copy()复制后&#xff0c;会自动被设置为暂停&a…

HTML5 Shiv #8211; 让该死的IE系列支持HTML5吧

下面是引用Google的html5.js文件&#xff0c;好处就不说了&#xff1a; <!--[if IE]><script src”http://html5shiv.googlecode.com/svn/trunk/html5.js”></script>< ![endif]--> 将上代码复制到head部分&#xff0c;记住一定要是head部分&#xf…

android如何导入活动,关于android:如何将活动值传递给另一个活动(Kotlin)

我是Kotlin的新手&#xff0c;我正在尝试为我的应用进行设置活动&#xff0c;我希望该活动将其价值传递给其他活动。 我尝试了不同的代码&#xff0c;但没有一个起作用&#xff0c;我尝试制作一个共享的首选项文件&#xff0c;但我不知道如何编写代码要清楚&#xff0c;我想将字…

Mockito –带有注释和静态方法的额外接口

在代码中&#xff0c;我最近遇到了一段非常糟糕的代码&#xff0c;这些代码基于对对象执行某些操作的类转换。 当然&#xff0c;代码需要重构&#xff0c;但是如果您首先没有对该功能进行单元测试&#xff0c;则有时您可能无法做到/或者不想这样做&#xff08;这应该是可以理解…

怎么把原来的墙拆掉_家装拆除不是简单的砸砸墙,它也是有技术的

装修拆除中有很多人认为&#xff0c;拆除施工没有什么技术含量&#xff0c;感觉就像小品演的那样&#xff0c;挥挥大锤砸砸墙就可以了。所以有的人图便宜就从马路上随便找的工人来砸墙&#xff0c;他们不管是不是承重墙&#xff0c;只要业主要求他们就敢咋&#xff0c;后果真有…

20180209-os模块

下面将学习关于os模块的相关操作 项目练习的目录结构如下&#xff1a;所有的操作都是基于os_exercise.py模块 1.获取当前的Python脚本的工作目录路径 os.getcwd() # 1.获取当前目录 dir os.getcwd() print(获取当前python脚本工作目录:,dir) # 输出 # 获取当前python脚本工作目…

UOJ #188. 【UR #13】Sanrd

Description 给定 \(\sum_{il}^r f[i]\)\(f[i]\) 把 \(i\) 的每一个质因子都从小到大排列成一个序列(\(p_i^{c_i}\)要出现 \(c_i\) 次)后 , 第二大的质因子.题面 Solution 符合 \(Min25\) 筛的处理顺序. 递归处理每个质因子作为次大值时的贡献,和不作为次大值时贡献的方案数 , …

关于IE6.7.8.FF兼容的问题

所有浏览器 通用 height: 100px; IE6 专用 _height: 100px;IE6 专用 *height: 100px; IE7 专用 * height: 100px; IE7、FF 共用 height: 100px !important; 一、CSS 兼容 以下两种方法几乎能解决现今所有兼容. 1, !important (不是很推荐&#xff0c;用下面的一种感觉最安…

冯珊珊_模拟器企业衡泰信签约冯珊珊,推动高尔夫运动下沉

9月21日&#xff0c;著名高尔夫模拟器企业衡泰信宣布签约中国高尔夫球员冯珊珊&#xff0c;双方正式达成全面战略合作&#xff0c;旨在共同推动室内高尔夫运动的普及与推广&#xff0c;让更多人参与并喜爱上这项运动&#xff0c;推动全民健身目标&#xff0c;借助互联网、智慧场…

MOXy是GlassFish 4中新的默认JSON绑定提供程序

GlassFish 4现在可以提供完整的Java EE 7&#xff08;JSR-342&#xff09;平台。 EclipseLink为该发行版做出了一些重大贡献。 首先是提供JPA 2.1&#xff08;JSR-338&#xff09;实现。 我将在本文中介绍的第二个内容是EclipseLink MOXy&#xff0c;它现在是JAX-RS应用程序的默…

假期第四周周总结

第四周&#xff1a; 本周做了什么&#xff1a;由于第一次科三没过&#xff0c;只能再约一次&#xff0c;两天在练科三&#xff0c;其他时间都在安装oracle&#xff0c;虚拟机&#xff0c;并配置环境&#xff0c;学习oracle数据库&#xff0c;并改进河北创新科技平台系统 收获是…

通过form实现enter事件

结构 <form action‘#’> <input typesearch /> <button>搜索</button> </form> 在这种情况下即使给button加上事件&#xff0c;按enter键也会执行点击事件中的代码&#xff08;pc-移动web皆可以&#xff09;。&#xff08;action需为javascript…

CSS3之background的调整和增加的属性

对于background做了一些修改&#xff0c;最明显的一个就是采用设置多背景&#xff0c;不但添加了4个新属性&#xff0c;并且还对目前的属性进行了调整增强。 1、多个背景图片 在css3里面&#xff0c;你可以再一个标签元素里应用多个背景图片。代码类似与css2.0版本的写法&…