用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 ...
随机推荐
- php总结2——php中的变量、数据类型及转换、运算符、流程控制中的分支结构
2.1 php中的变量: 定义变量:$变量名称=值: 变量名称:$开头 $之后的第一位必须是字母 $第二位之后可以是字母.数字或者是下划线.习惯上变量名称有实际含义,第二个单词后首字母大 ...
- JavaScript for循环实现表格隔行变色
本代码主要演示的是for循环, <!doctype html> <html lang="en"> <head> <meta charset ...
- SVM怎样解决多分类问题
从 SVM的那几张图能够看出来,SVM是一种典型的两类分类器.即它仅仅回答属于正类还是负类的问题.而现实中要解决的问题,往往是多类的问题(少部分例外,比如垃圾邮件过滤,就仅仅须要确定"是&q ...
- Pentaho BIServer Community Edtion 6.1 使用教程 第二篇 迁移元数据 [HSQLDB TO MySQL]
第一部分 迁移原因 Pentaho BI 社区版服务的很多元数据信息存储在数据库汇总,其默认使用HSQLDB 数据库,即借助它存储自身的资料库,比如 Quartz 调度信息.业务资料库连接信息(数据 ...
- PHP上传视频
https://github.com/chaping/plupload_docs 这下载 lupload有以下功能和特点: 1.拥有多种上传方式:HTML5.flash.silverlight以及传统 ...
- PAT 天梯赛 L2-025. 分而治之 【图】
题目链接 https://www.patest.cn/contests/gplt/L2-025 思路 只要把被攻下的城市标记一下 与 其他城市之间的通路都取消 然后判断一下剩下的城市 是否都是孤立的 ...
- P3715 [BJOI2017]魔法咒语
P3715 [BJOI2017]魔法咒语 用基本词汇组成\(L\)长度的单词,其中不能包含禁忌词汇 用禁忌词汇建强大的\(tire\)图 解决: 分类讨论,\(L<=100\)用普通dp暴力在\ ...
- 利用ThinkPHP做项目步骤
ThinkPHP使用规则:约定大于配置 创建入口文件: 1.在ThinkPHP目录下创建一个入口文件index.php 2.访问入口文件的同时系统会自动把对应的应用目录文件Test创建出来 3.打开H ...
- python做图笔记
1. 工具选择 了解了基本python,rodeo,anaconda套件这三种工具. (1)基本python,下载安装python的最新版(目前是python3.7).注意要使用安装版.安装好后,一般 ...
- listen 61
Multiple Stresses Killed Snail Memory Stress sucks. It can affect your body and mind. Previous resea ...