用matplotlib画线
1:matplotlib基础
Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形[1] 。
通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
Matplotlib基础知识
1.Matplotlib中的基本图表包括的元素
x轴和y轴
水平和垂直的轴线
x轴和y轴刻度
刻度标示坐标轴的分隔,包括最小刻度和最大刻度
x轴和y轴刻度标签
表示特定坐标轴的值
绘图区域
实际绘图的区域
2.hold属性
hold属性默认为True,允许在一幅图中绘制多个曲线;将hold属性修改为False,每一个plot都会覆盖前面的plot。
但是目前不推荐去动hold这个属性,这种做法(会有警告)。因此使用默认设置即可。
3.网格线
grid方法
使用grid方法为图添加网格线
设置grid参数(参数与plot函数相同)
.lw代表linewidth,线的粗细
.alpha表示线的明暗程度
4.axis方法
如果axis方法没有任何参数,则返回当前坐标轴的上下限
5.xlim方法和ylim方法
除了plt.axis方法,还可以通过xlim,ylim方法设置坐标轴范围
6.legend方法
两种传参方法:
2:代码演示
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> import pandas as pd
>>> nd= np.linspace (0,10,10)
>>> plt.plot(nd)
[<matplotlib.lines.Line2D object at 0x000000001331BDD8>]
>>> plt.show()
>>> nd1= np.linspace (0,100,50)
>>> plt.plot(nd1)
[<matplotlib.lines.Line2D object at 0x0000000013449C88>]
>>> plt.show()
>>> nd1= np.linspace (0,100,50)#从0开始Y为100x为50
>>> #下面是一种在一个图里面绘制多个线的方法
>>> x=np.arange (0,10,1)
>>> plt.plot(x,x*2)
[<matplotlib.lines.Line2D object at 0x00000000140F0DA0>]
>>> plt.plot(x,x/2)
[<matplotlib.lines.Line2D object at 0x00000000140F0E48>]
>>> plt.plot(x,x**2)
[<matplotlib.lines.Line2D object at 0x00000000140FC668>]
>>> plt.show()
>>> #另一种方法
>>> x=np.arange(0,10,1)
>>> plt.plot(x,x**2,x,5*x,x,x/3)
[<matplotlib.lines.Line2D object at 0x0000000013E246D8>, <matplotlib.lines.Line2D object at 0x0000000013E24CF8>, <matplotlib.lines.Line2D object at 0x0000000013E24DA0>]
>>> plt.show()
>>> #下面绘制网格线
>>> x=np.arange(-np.pi,np.pi,0.01)#把-3.14和3.14按0.01分成份
>>> plt.plot(x,np.sin(x))#正弦函数
[<matplotlib.lines.Line2D object at 0x0000000013733898>]
>>> plt.show()
>>> plt.plot(x,np.sin(x),x,np.cos(x))
[<matplotlib.lines.Line2D object at 0x0000000013423C50>, <matplotlib.lines.Line2D object at 0x0000000013423CF8>]
>>> plt.grid(True)#网格展示
>>> plt.show()
>>> #plt面向对象
>>> #创建对象
>>> #图形就是所谓的对象
>>> a=plt.subplot(1,3,1)#sub = 子,一行三列第一视图
>>> x=np.arange (-20,20,0.1)
>>> a.plot (x,np.sin(x))
[<matplotlib.lines.Line2D object at 0x000000001CA2CB00>]
>>> x2=np.arange (-20,20,1)
>>> a=plt.subplot(1,3,2)#sub = 子,一行三列第二视图
>>> a.plot (x2,np.sin(x2))
[<matplotlib.lines.Line2D object at 0x000000001CC88940>]
>>> x3=np.arange (-20,20,0.2)
>>> a=plt.subplot(1,3,3)#sub = 子,一行三列第三视图
>>> a.plot (x3,np.sin(x3))
[<matplotlib.lines.Line2D object at 0x000000001CD6D390>]
>>> plt.show()
>>> a.grid(color='g',linestyle='--',linewidth=2)
>>> plt.show()
>>> plt.show()
>>> a.plot (x3,np.sin(x3))
[<matplotlib.lines.Line2D object at 0x000000001CA2C978>]
>>> a.grid(color='g',linestyle='--',linewidth=2)#设置网格类型,颜色及线宽
>>> plt.show()
>>> #坐标轴界限
>>> #axis方法
>>> #如果axis方法没有任何参数,则返回当前坐标轴IDE上下限
>>> x=np.random.randn(10)
>>> plt.plot(x)
[<matplotlib.lines.Line2D object at 0x000000001C9CBE48>]
>>> plt.show()
>>> x=np.random.randn(20)
>>> plt.axis([-5,15,-5,10])
[-5, 15, -5, 10]#x的范围是-5到15而y的范围是-5到10
>>> plt.plot(x)
[<matplotlib.lines.Line2D object at 0x000000001D324E80>]
>>> plt.show()
>>> x=np.linspace(-5,5,100)
>>> plt.plot(x,np.tan(x))
[<matplotlib.lines.Line2D object at 0x000000001D5E85F8>]
>>> plt.axis('off')
(-5.5, 5.5, -214.01584316694965, 214.01584316694965)
>>> #off表示把坐标轴隐藏
>>> plt.show()
>>> #画圆
>>> plt.plot(np.sin(x),np.cos(x))
[<matplotlib.lines.Line2D object at 0x000000001D80EC88>]
>>> plt.show()
>>> plt.axis('equal')#使x轴和y轴的大小相等
(-0.05500000000000001, 0.05500000000000001, -0.05500000000000001, 0.05500000000000001)
>>> plt.plot(np.sin(x),np.cos(x))
[<matplotlib.lines.Line2D object at 0x000000001D5E8A90>]
>>> plt.show()
>>> #当然也可以设置figuresize设置标准圆
>>> #除了plt.axis方法,还可以通过xlim,ylim方法设置坐标轴范围
>>> y=np.arange(0,10,1)
>>> y
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> plt.plot(y)
[<matplotlib.lines.Line2D object at 0x000000001DC55A20>]
>>> plt.xlim(-2,12)
(-2, 12)
>>> plt.ylim(2,22)
(2, 22)
>>> plt.show()
>>> #坐标轴标签
>>> y=np.arange(0,10,2)
>>> x=y**2+5
>>> plt.xlabel('f(x)')
Text(0.5,0,'f(x)')
>>> plt.ylabel('x')
Text(0,0.5,'x')
>>> plt.ylabel('x',size=20)#设置字体大小
Text(0,0.5,'x')
>>> plt.plot(x,y)
[<matplotlib.lines.Line2D object at 0x000000001DAF54E0>]
>>> plt.show()
>>> #设置标题‘
>>> x = np.linspace(-np.pi,np.pi,100)
>>> plt.plot(x,np.sin(x))
[<matplotlib.lines.Line2D object at 0x000000001D5E8860>]
>>> plt.title('f(x)=sin(x)',fontsize=20)
Text(0.5,1,'f(x)=sin(x)')
>>> plt.show()
#下面是设置图标的两种方法
>>> y=np.arange(0,10,1)
>>> x=np.arange(0,10,1)
>>> plt.plot(x,x*1.5,x,x*2,x,x/2)
[<matplotlib.lines.Line2D object at 0x0000000013DEFAC8>, <matplotlib.lines.Line2D object at 0x0000000013DEFBA8>, <matplotlib.lines.Line2D object at 0x0000000013E21668>]
>>> plt.legend(['normal','fast','slow'])#为对应的线设置图标
<matplotlib.legend.Legend object at 0x0000000013E219E8>
>>> plt.show()
>>> #参数传递需要中括号
>>> plt.plot(x,x,label='normal')
[<matplotlib.lines.Line2D object at 0x00000000141994E0>]
>>> plt.plot(x,x**2,label='fast')
[<matplotlib.lines.Line2D object at 0x00000000141999B0>]
>>> plt.plot(x,x/2,label='slow')
[<matplotlib.lines.Line2D object at 0x0000000014199128>]
>>> plt.legend ()
<matplotlib.legend.Legend object at 0x0000000014175AC8>
>>> plt.show()
>>> plt.plot(x,x**2,label='_fast')#加上_使标签不显示
[<matplotlib.lines.Line2D object at 0x00000000138CFA58>]
>>> plt.show()
>>> plt.legend(['normal','fast','slow'],loc='upper_right')#loc设置图例的位置 ,可以设置的参数为 right center left upper right lower right best center lower left center right upper left upper center lower center
<matplotlib.legend.Legend object at 0x000000001C9BDFD0>
>>> plt.show()
>>>
用matplotlib画线的更多相关文章
- matplotlib画线(2)
这篇随笔是matplotlib画线的补充>>> #nocl参数控制图例中有几列,>>> import numpy as np>>> import ...
- Matplotlib学习---用matplotlib画箱线图(boxplot)
箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分 ...
- 使用python pylab库 画线
pylab 提供了比较强大的画图功能,但是函数和参数都比较多,很容易搞混.我们平常使用最多的应该是画线了.下面,简单的对一些常用的划线函数进行了封装,方便使用. # -*- coding: utf-8 ...
- Python 的 Matplotlib 画图库
Matplotlib安装 NumPy库方便数值运算,但枯燥的数据并不利于人们的直观理解. 数据需要可视化. Matplotlib:一个数据可视化函数库 使用前需要安装 利用Python自带 ...
- MFC画线功能总结
本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6216464.html MFC画线功能要点有二:其一,鼠标按下时记录初始位置为线的起始 ...
- MFC消息映射机制以及画线功能实现
---此仅供用于学习交流,切勿用于商业用途,转载请注明http://www.cnblogs.com/mxbs/p/6213404.html. 利用VS2010创建一个单文档标准MFC工程,工程名为Dr ...
- CGContextRef 画线简单用法
CGContextRef CGContextMoveToPoint(context,150,50);//圆弧的起始点 CGContextAddArcToPoint(context,100,80,130 ...
- Android中Path类的lineTo方法和quadTo方法画线的区别
转载:http://blog.csdn.net/stevenhu_223/article/details/9229337 当我们需要在屏幕上形成画线时,Path类的应用是必不可少的,而Path类的li ...
- C#使用 DirectX SDK 9做视频播放器 并在视频画线添加文字 VMR9
视频图像处理系列 索引 VS2013下测试通过. 在百度中搜索关键字“DirectX SDk”,或者进入微软官网https://www.microsoft.com/en-us/download/det ...
随机推荐
- 【题解】P1407国家集训队稳定婚姻
[题解][P1407 国家集训队]稳定婚姻 很好的一道建模+图论题. 婚姻关系?很像二分图匹配呀,不过不管怎么办先建模再说.婚姻关系显然用图方面的知识解决.建图! 它给定的是字符串,所以我们使用\(a ...
- API的理解和使用——单线程架构
核心知识点: 1.单线程机制:所有命令放在一个队列中 2.为什么Redis单线程这么快?内存中执行.非IO阻塞.避免线程切换和竞态产生的消耗. 3.单线程的问题?一个命令不能执行太长时间,不然会阻塞其 ...
- 如何使用ipv6
需要系统至少是Vista以上还有就是要问你们学校是否已经支持IPV6 从Windows Vista开始,IPv6在默认状态下已经安装并启用,无需额外配置.检测步骤开启浏览器窗口,输入以下域名访问本站首 ...
- 深入浅出理解linux inode结构【转】
本文转载自:https://blog.csdn.net/fantasyhujian/article/details/9151615 一.inode是什么? 参考文档:http://tech.diann ...
- 话说文件系统——aufs源码分析(三)【转】
本文转载自:http://www.cnblogs.com/xie0812/p/8848185.html 1. linux中设备驱动的入口都是:module_init(xxx_init);里面注册的函数 ...
- 对于glut和freeglut的一点比较和在VS2013上的配置问题
先大概说一下glut.h和freeglut.h 首先要知道openGL是只提供绘图,不管窗口的,所以你需要给它一个绘图的区域(openGL能跨平台也与此有些关系) glut.h和freeglut.h都 ...
- python的easygui
1.利用msgbox(单词messagebox的缩写)给出一个提示信息: import easygui as g reply=g.msgbox('This is a basic message box ...
- IDEAL葵花宝典:java代码开发规范插件 checkstyle、visualVM、PMD 插件
前言: visualVM: 运行java程序的时候启动visualvm,方便查看jvm的情况 比如堆内存大小的分配:某个对象占用了多大的内存,jvm调优必备工具. checkstyle: CheckS ...
- linux进程学习-进程描述符的存储
当进程被新建时,内核会给进程分配一个8K的空间作为进程的内核堆栈.同时我们知道task_struct结构体也会被创建,但有意思的是,内核不会给task_struct单独分别空间,而是直接将其扔到8k的 ...
- ls命令还能这么玩
排序文件大小: 我们希望以文件大小排序,我们可以使用-S 参数来这么做 如果希望文件大小从小到大排序: 如果只希望列出目录条目: 增加 /(斜线) 标记目录:要这么做,使用-p选项: 通过修改时间列出 ...