python使用matplotlib绘制折线图教程
Matplotlib是一个Python工具箱,用于科学计算的数据可视化。借助它,Python可以绘制如Matlab和Octave多种多样的数据图形。下面这篇文章主要介绍了python使用matplotlib如何绘制折线图的方法教程,需要的朋友可以参考借鉴。
matplotlib简介
matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。
它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。
在Linux下比较著名的数据图工具还有gnuplot,这个是免费的,Python有一个包可以调用gnuplot,但是语法比较不习惯,而且画图质量不高。
而 Matplotlib则比较强:Matlab的语法、python语言、latex的画图质量(还可以使用内嵌的latex引擎绘制的数学公式)。
绘图库Matplotlib的安装方法:点击这里
matplotlib绘制折线图
1. line chart
import numpy as np
import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi, 100)
y1, y2 = np.sin(x), np.cos(x) plt.plot(x, y1)
plt.plot(x, y2) plt.title('line chart')
plt.xlabel('x')
plt.ylabel('y') plt.show()

2. 图例
在plot的时候指定label,然后调用legend方法可以绘制图例。例如:
import numpy as np
import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi, 100)
y1, y2 = np.sin(x), np.cos(x) plt.plot(x, y1, label='y = sin(x)')
plt.plot(x, y2, label='y = cos(x)')
plt.legend()
plt.show()

legend方法可接受一个loc关键字参数来设定图例的位置,可取值为数字或字符串:
0: ‘best'
1: ‘upper right'
2: ‘upper left'
3: ‘lower left'
4: ‘lower right'
5: ‘right'
6: ‘center left'
7: ‘center right'
8: ‘lower center'
9: ‘upper center'
10: ‘center'
3. 线的样式
(1)颜色
plot方法的关键字参数color(或c)用来设置线的颜色。可取值为:
1、颜色名称或简写
b: blue
g: green
r: red
c: cyan
m: magenta
y: yellow
k: black
w: white
2、#rrggbb
3、(r, g, b) 或 (r, g, b, a),其中 r g b a 取均为[0, 1]之间
4、[0, 1]之间的浮点数的字符串形式,表示灰度值。0表示黑色,1表示白色
(2)样式
plot方法的关键字参数linestyle(或ls)用来设置线的样式。可取值为:
- -, solid
- --, dashed
- -., dashdot
- :, dotted
- '', ' ', None
(3)粗细
设置plot方法的关键字参数linewidth(或lw)可以改变线的粗细,其值为浮点数。
import numpy as np
import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi, 100)
y1, y2 = np.sin(x), np.cos(x) plt.plot(x, y1, c='r', ls='--', lw=3)
plt.plot(x, y2, c='#526922', ls='-.')
plt.show()

4. marker
以下关键字参数可以用来设置marker的样式:
- marker
- markeredgecolor 或 mec
- markeredgewidth 或 mew
- markerfacecolor 或 mfc
- markerfacecoloralt 或 mfcalt
- markersize 或 ms
其中marker可取值为:
- '.': point marker
- ',': pixel marker
- 'o': circle marker
- 'v': triangle_down marker
- '^': triangle_up marker
- '<': triangle_left marker
- '>': triangle_right marker
- '1': tri_down marker
- '2': tri_up marker
- '3': tri_left marker
- '4': tri_right marker
- 's': square marker
- 'p': pentagon marker
- '*': star marker
- 'h': hexagon1 marker
- 'H': hexagon2 marker
- '+': plus marker
- 'x': x marker
- 'D': diamond marker
- 'd': thin_diamond marker
- '|': vline marker
- '_': hline marker
例如:
import numpy as np
import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi, 10)
y1, y2 = np.sin(x), np.cos(x) plt.plot(x, y1, marker='o', mec='r', mfc='w')
plt.plot(x, y2, marker='*', ms=10)
plt.show()

另外,marker关键字参数可以和color以及linestyle这两个关键字参数合并为一个字符串。例如:
import numpy as np
import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi, 10)
y1, y2 = np.sin(x), np.cos(x) plt.plot(x, y1, 'ro-')
plt.plot(x, y2, 'g*:', ms=10)
plt.show()

The kwargs are Line2D properties:
| Property | Description |
|---|---|
| agg_filter | unknown |
| alpha | float (0.0 transparent through 1.0 opaque) |
| animated | [True | False] |
| antialiased or aa | [True | False] |
| axes | an Axes instance |
| clip_box | a matplotlib.transforms.Bbox instance |
| clip_on | [True | False] |
| clip_path | [ (Path, Transform) | Patch | None ] |
| color or c | any matplotlib color |
| contains | a callable function |
| dash_capstyle | [‘butt’ | ‘round’ | ‘projecting’] |
| dash_joinstyle | [‘miter’ | ‘round’ | ‘bevel’] |
| dashes | sequence of on/off ink in points |
| drawstyle | [‘default’ | ‘steps’ | ‘steps-pre’ | ‘steps-mid’ | ‘steps-post’] |
| figure | a matplotlib.figure.Figure instance |
| fillstyle | [‘full’ | ‘left’ | ‘right’ | ‘bottom’ | ‘top’ | ‘none’] |
| gid | an id string |
| label | string or anything printable with ‘%s’ conversion. |
| linestyle or ls | ['-' | '--' | '-.' | ':' | 'None' | ' ' | ''] |
| linewidth or lw | float value in points |
| lod | [True | False] |
| marker | A valid marker style |
| markeredgecolor or mec | any matplotlib color |
| markeredgewidth or mew | float value in points |
| markerfacecolor or mfc | any matplotlib color |
| markerfacecoloralt or mfcalt | any matplotlib color |
| markersize or ms | float |
| markevery | [None | int | length-2 tuple of int | slice | list/array of int | float | length-2 tuple of float] |
| path_effects | unknown |
| picker | float distance in points or callable pick function fn(artist, event) |
| pickradius | float distance in points |
| rasterized | [True | False | None] |
| sketch_params | unknown |
| snap | unknown |
| solid_capstyle | [‘butt’ | ‘round’ | ‘projecting’] |
| solid_joinstyle | [‘miter’ | ‘round’ | ‘bevel’] |
| transform | a matplotlib.transforms.Transform instance |
| url | a url string |
| visible | [True | False] |
| xdata | 1D array |
| ydata | 1D array |
| zorder | any number |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我的支持。
python使用matplotlib绘制折线图教程的更多相关文章
- 【Python】matplotlib绘制折线图
一.绘制简单的折线图 import matplotlib.pyplot as plt squares=[1,4,9,16,25] plt.plot(squares) plt.show() 我们首先导入 ...
- python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)
最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...
- Python开发【模块】:matplotlib 绘制折线图
matplotlib 1.安装matplotlib ① linux系统安装 # 安装matplotlib模块 $ sudo apt-get install python3-matplotlib # 如 ...
- python用matplotlib画折线图
折线图: import matplotlib.pyplot as plt y1=[10,13,5,40,30,60,70,12,55,25] x1=range(0,10) x2=range(0,10) ...
- Python:matplotlib绘制线条图
线型图是学习matplotlib绘图的最基础案例.我们来看看具体过程: 下面我们将两条曲线绘制到一个图形里: 可以看到这种方式下,两个线条共用一个坐标轴,并且自动区分颜色. plot方法的核心是 ...
- 1 matplotlib绘制折线图
from matplotlib import pyplot as plt #设置图形大小 plt.figure(figsize=(20,8),dpi=80) plt.plot(x,y,color=&q ...
- Python绘制折线图
一.Python绘制折线图 1.1.Python绘制折线图对应代码如下图所示 import matplotlib.pyplot as pltimport numpy as np from pylab ...
- Python pyecharts绘制折线图
一.pyecharts绘制折线图line.add()方法简介 line.add()方法简介 add(name,x_axis,y_axis,is_symbol_show=True, is_smooth= ...
- 用PNChart绘制折线图
写在前面 上一篇文章已经介绍过用PNChart绘制饼状图了,绘制折线图的步骤和饼状图的步骤是相似的,按照中的准备做好准备工作后就可以绘制折线图了. 开始使用 1.在view中声明一个PNLineCha ...
随机推荐
- 阿里云配置gitlab邮箱
gitlab_rails['gitlab_email_from'] = 'username@163.com' user['git_user_email'] = "username@163.c ...
- ArcGIS鼠标滚轮方向之代码篇
Desktop10.X有多个版本,不同版本的注册表路径不一致,注册表中可能残留多个版本的注册信息:也可能没有Desktop,而是Engine.其实可以通过RuntimeManager.ActiveRu ...
- Android编码学习之Fragment
1. 什么是Fragment Fragment是Android honeycomb 3.0新增的概念,Fragment名为碎片不过却和Activity十分相似.Fragment是用来描述一些行为或一部 ...
- Windows中读写ini文件
.ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,来配置应用软件以实现不同用户的要求.配置文件有很多种如ini配置文件,XML ...
- 转载:MVC升级以后出现"当前上下文中不存在ViewBag"的问题解决
MVC升级以后出现"当前上下文中不存在ViewBag"的问题解决 把自己的项目从MVC4升级到了MVC5,结果问题一大堆,View的设计环境出现了"当前上下文中不存在Vi ...
- 关于TF(词频) 和TF-IDF(词频-逆向文件频率 )的理解
##TF-IDF TF(词频): 假定存在一份有N个词的文件A,其中‘明星‘这个词出现的次数为T.那么 TF = T/N; 所以表示为: 某一个词在某一个文件中出现的频率. TF-IDF(词频-逆向 ...
- 单片机成长之路(51基础篇) - 012 MCS-51单片机控制详解–TMOD T2MOD
TMOD:工作方式控制寄存器 寄存器地址89H,不可位寻址. 位序 B7 B6 B5 B4 B3 B2 B1 B0 位符号 GATE C/T M1 M0 GATE C/T M1 M0 GATE——门控 ...
- 【算法】解析IEEE 754 标准
目录结构: contents structure [-] 浮点数的存储过程 次正规数(Denormalized Number) 零(zero) 非数值(NaN) 无穷大(infinity) 除数为0. ...
- python 奇偶拆分list,python拆分list,得到一个原来list的奇数list,一个原来list的偶数list
需求:现在有一个list ,range_data = ['m', 'M', 'h', 'c', 'X', 'Z', 'A', 'o'] 希望得到两个list, 一个是奇数list =['m', 'h ...
- Maven项目:Malformed POM expected START_TAG or END_TAG ........
今天在执行maven命令 mvn assembly:assembly -Dmaven.test.skip=true的时候报了个错,大概是Malformed POM expected START_TAG ...