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画线的更多相关文章

  1. matplotlib画线(2)

    这篇随笔是matplotlib画线的补充>>> #nocl参数控制图例中有几列,>>> import numpy as np>>> import ...

  2. Matplotlib学习---用matplotlib画箱线图(boxplot)

    箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分 ...

  3. 使用python pylab库 画线

    pylab 提供了比较强大的画图功能,但是函数和参数都比较多,很容易搞混.我们平常使用最多的应该是画线了.下面,简单的对一些常用的划线函数进行了封装,方便使用. # -*- coding: utf-8 ...

  4. Python 的 Matplotlib 画图库

    Matplotlib安装 NumPy库方便数值运算,但枯燥的数据并不利于人们的直观理解. 数据需要可视化. Matplotlib:一个数据可视化函数库 使用前需要安装  利用Python自带 ...

  5. MFC画线功能总结

    本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6216464.html MFC画线功能要点有二:其一,鼠标按下时记录初始位置为线的起始 ...

  6. MFC消息映射机制以及画线功能实现

    ---此仅供用于学习交流,切勿用于商业用途,转载请注明http://www.cnblogs.com/mxbs/p/6213404.html. 利用VS2010创建一个单文档标准MFC工程,工程名为Dr ...

  7. CGContextRef 画线简单用法

    CGContextRef CGContextMoveToPoint(context,150,50);//圆弧的起始点 CGContextAddArcToPoint(context,100,80,130 ...

  8. Android中Path类的lineTo方法和quadTo方法画线的区别

    转载:http://blog.csdn.net/stevenhu_223/article/details/9229337 当我们需要在屏幕上形成画线时,Path类的应用是必不可少的,而Path类的li ...

  9. C#使用 DirectX SDK 9做视频播放器 并在视频画线添加文字 VMR9

    视频图像处理系列 索引 VS2013下测试通过. 在百度中搜索关键字“DirectX SDk”,或者进入微软官网https://www.microsoft.com/en-us/download/det ...

随机推荐

  1. 我的Java开发学习之旅------>Java经典排序算法之二分插入排序

    一.折半插入排序(二分插入排序) 将直接插入排序中寻找A[i]的插入位置的方法改为采用折半比较,即可得到折半插入排序算法.在处理A[i]时,A[0]--A[i-1]已经按关键码值排好序.所谓折半比较, ...

  2. imagick图片压缩。

    选择一个合适的图片处理扩展包. 常见的扩展如GD,imagick,Gmagick. 老古董的GD丢掉吧,效率很低,而且压缩的图片体积很大=.=   imagick是个不错的选择,在PHP的图片处理扩展 ...

  3. JSP九大内置对象的作用和用法总结(转发)

    jsp九大内置对象: 内置对象/作用域(每一种作用域的生命周期是不一样的): 1, application 全局作用域 2, session 会话作用域 3, request 请求作用域 4, pag ...

  4. Machine Learning in Action(4) Logistic Regression

    从这节算是开始进入“正规”的机器学习了吧,之所以“正规”因为它开始要建立价值函数(cost function),接着优化价值函数求出权重,然后测试验证.这整套的流程是机器学习必经环节.今天要学习的话题 ...

  5. 【docker】开启remote api访问,并使用TLS加密

    背景: docker默认是能使用本地的socket进行管理,这个在集群中使用的时候很不方便,因为很多功能还是需要链接docker服务进行操作,docker默认也可以开启tcp访问,但是这就相当于把整个 ...

  6. spring cloud初识

    spring cloud是spring中的一个快速开发框架.本实例采用spring+maven来配置一个简单的spring开发实例. 1.首先安装java和maven环境. ①.安装java,不做过多 ...

  7. python之tkinter_1

    以下内容来自:https://blog.csdn.net/wangyiyan315/article/details/16361065 from tkinter import * # 导入tkinter ...

  8. checkbox怎么判断是否选中

    下面这种可以使用 if($("#checkbox1").is(':checked')) { alert("1"); } else { alert("0 ...

  9. 文章预告的自我挖坑系列——D3.js 系列之星光闪烁

    D3.js 是个神奇的工具,下面收集了一些与星星相关的可视化的例子,静待慢慢的把坑填上 雷达图http://bl.ocks.org/kevinschaul/8213691      星空 二维(一)h ...

  10. string类封装

    class cMyString{ char* m_str; int m_strSize;public: cMyString();//指针指向一个空字符串 cMyString(char* str);// ...