matplotlib作图——plot() 线图
线图
#定义
matplotlib.pyplot.plot()
plot([x], y, [fmt], data=None, **kwargs)
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
解释说明:
x和y分别代表坐标,x是可以不填,有默认值range(len(y));
可选参数fmt是定义基本格式(如颜色、标记和线条样式)的便捷方式;
#简单示例:
plot(x,y) #默认的基本格式为"b-"
plot(x,y,'bo')
plot(y)
plot(y,'r+')
例1:简单应用
import matplotlib.pyplot as plt
import numpy as np
y = np.random.random_sample((20,))
plt.plot(y,'ro--') #有默认的x
plt.show()
效果:

例2:便捷方式定义格式
import matplotlib.pyplot as plt
import numpy as np
x = np.arange('2018-01-01','2018-01-02',dtype='datetime64[h]')[:20]
y = np.random.random_sample((20,))
#关于plt属性的设置后面会详细讲解,目前只是提一下
plt.xticks(rotation=45) #x轴的倾斜程度
plt.xlabel("time") #X轴名
plt.ylabel("index")
plt.title('TEST')
plt.plot(x,y,'ro--',linewidth=2, markersize=6) #红色、圆点、虚线
plt.show()
效果:

如果你觉得这样定义格式不够精确,那么可以使用Line2D属性作为关键字参数来更好地控制外观,
属性和fmt可以混合使用,当Line2D与fmt参数冲突时,关键字参数优先。
例3:Line2D精确定义
#下图和上图所能得到的结果是相同的。
# #关于plt属性的设置后面会详细讲解,目前只是提一下
plt.xticks(rotation=45) #x轴的倾斜程度
plt.xlabel("time") #X轴名
plt.ylabel("index")
plt.title('TEST')
plt.plot(x,y,color='r',marker='o',linestyle='--',linewidth=2, markersize=6) #红色、圆点、虚线
plt.show()
效果:

传值的多种方式:
除了上面的直接传之之外,还有多种比较方便的传值方式
例4:直接从一个二维数组中取数据
data = np.random.random_sample((100,2))
plt.plot(data[:,0],data[:,1],'ro')
plt.show()
效果:

例5:直接传入一个数组对象,然后取里面的某一字段
import pandas as pd
df = pd.DataFrame(np.random.randn(100,2),columns=list('AB'))
plt.plot('A','B','ro',data=df)
plt.show()
效果:

一个图里面绘制多条曲线:
例6:方式一
import numpy as np
import matplotlib.pyplot as plt
t = np.linspace(1,5,30)
plt.plot(t,t,'r--')
plt.plot(t,t*2,'b^')
plt.plot(t,t**2,'g*')
plt.show()
效果:

例7:方式二
import numpy as np
import matplotlib.pyplot as plt
t = np.linspace(1,5,30)
plt.plot(t,t,'r--',t,t*2,'b^',t,t**2,'g*')
plt.show()
效果:

表一:颜色
| 字符 | 颜色 |
|---|---|
'b' |
蓝色 |
'g' |
绿色 |
'r' |
红 |
'c' |
青色 |
'm' |
品红 |
'y' |
黄色 |
'k' |
黑色 |
'w' |
白色 |
图二:标记
| 字符 | 描述 |
|---|---|
'.' |
点标记 |
',' |
像素标记 |
'o' |
圆圈标记 |
'v' |
triangle_down标记 |
'^' |
triangle_up标记 |
'<' |
triangle_left标记 |
'>' |
triangle_right标记 |
'1' |
tri_down标记 |
'2' |
tri_up标记 |
'3' |
tri_left标记 |
'4' |
tri_right标记 |
's' |
方形标记 |
'p' |
五边形标记 |
'*' |
明星标记 |
'h' |
hexagon1标记 |
'H' |
hexagon2标记 |
'+' |
加上标记 |
'x' |
x标记 |
'D' |
钻石标记 |
'd' |
thin_diamond标记 |
'|' |
vline标记 |
'_' |
hline标记 |
图三:线型
| 字符 | 描述 |
|---|---|
'-' |
实线风格 |
'--' |
虚线样式 |
'-.' |
点划线样式 |
':' |
虚线样式 |
图四:Line2D属性
| 属性 | 描述 |
|---|---|
agg_filter |
一个过滤函数,它取一个(m,n,3)浮点数组和一个dpi值,并返回一个(m,n,3)数组 |
alpha |
float(0.0透明到1.0不透明) |
animated |
布尔 |
antialiased 或者aa |
布尔 |
clip_box |
一个Bbox实例 |
clip_on |
布尔 |
clip_path |
[(Path,Transform)| Patch| 没有] |
color 或c |
任何matplotlib颜色 |
contains |
一个可调用的函数 |
dash_capstyle |
['屁股'| '圆'| “突出”] |
dash_joinstyle |
['斜接'| '圆'| '斜角'] |
dashes |
点的开/关墨水序列 |
drawstyle |
['默认'| '步骤'| 'steps-pre'| 'steps-mid'| “步骤-交”] |
figure |
一个Figure实例 |
fillstyle |
['完整'| '左'| '对'| '底'| '顶'| '没有'] |
gid |
一个id字符串 |
label |
目的 |
linestyle 或者ls |
['solid'| '虚线','dashdot','点'| (偏移,开 - 关 - 破折号)| '-'| '--'| '-.'| ':'| 'None'| | ]' ''' |
linewidth 或者lw |
浮点数值 |
marker |
A valid marker style |
markeredgecolor 或mec |
任何matplotlib颜色 |
markeredgewidth 或者说 |
浮点数值 |
markerfacecolor 或者mfc |
任何matplotlib颜色 |
markerfacecoloralt 或者mfcalt |
任何matplotlib颜色 |
markersize 或者ms |
浮动 |
markevery |
[无| int | int |的长度为2的元组 切片| list / array of int | 漂浮| 长度为2的浮动元组] |
path_effects |
AbstractPathEffect |
picker |
浮点距离或可拣选功能 fn(artist, event) |
pickradius |
浮点距离 |
rasterized |
布尔或无 |
sketch_params |
(比例:浮点数,长度:浮点数,随机性:浮点数) |
snap |
布尔或无 |
solid_capstyle |
['屁股'| '圆'| “突出”] |
solid_joinstyle |
['斜接'| '圆'| '斜角'] |
transform |
一个matplotlib.transforms.Transform实例 |
url |
一个网址字符串 |
visible |
布尔 |
xdata |
1D阵列 |
ydata |
1D阵列 |
zorder |
浮动 |
matplotlib作图——plot() 线图的更多相关文章
- python3绘图示例4(基于matplotlib:箱线图、散点图等)
#!/usr/bin/env python# -*- coding:utf-8 -*- from matplotlib.pyplot import * x=[1,2,3,4]y=[5,4,3,2] # ...
- Matplotlib学习---用matplotlib画箱线图(boxplot)
箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分 ...
- Matplotlib数据可视化(6):饼图与箱线图
In [1]: from matplotlib import pyplot as plt import numpy as np import matplotlib as mpl mpl.rcParam ...
- Python的可视化包 – Matplotlib 2D图表(点图和线图,.柱状或饼状类型的图),3D图表(曲面图,散点图和柱状图)
Python的可视化包 – Matplotlib Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型地2D图表和一些基本的3D图表.Matplotlib最早是为了可 ...
- pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图))
//2019.07.23 1.箱形图,又称为盒式图,一般可以很好地反映出数据分布的特征,也可以进行多项数据之间分布特征的比较,它主要包含五个基础数据:中位数,两个上下分位数以及上下边缘线数据 其中的一 ...
- 使用Python的pandas模块、mplfinance模块、matplotlib模块绘制K线图
目录 pandas模块.mplfinance模块和matplotlib模块介绍 pandas模块 mplfinance模块和matplotlib模块 安装mplfinance模块.pandas模块和m ...
- matplotlib学习日记(六)-箱线图
(一)箱线图---由一个箱体和一对箱须组成,箱体是由第一个四分位数,中位数和第三四分位数组成,箱须末端之外的数值是离散群,主要应用在一系列测量和观测数据的比较场景 import matplotlib ...
- matplotlib绘制多组 散点连线图【用于对比】待实现
绘制散点+连线图: http://www.cnblogs.com/aaronhoo/p/5150596.html http://zhidao.baidu.com/link?url=Q1b7NG8eEz ...
- matplotlib箱线图与柱状图比较
代码: # -*- coding: utf-8 -*- """ Created on Thu Jul 12 16:37:47 2018 @author: zhen &qu ...
随机推荐
- 编写可维护的JavaScript----笔记(三)
1.块语句花括号的使用 在JavaScript中,注入if和for语句有两种写法,使用花括号包裹的多行代码或者不使用花括号的单行代码.但强烈建议不论是单行还是多行代码,都应该使用花括号. 2.花括号的 ...
- JavaScript中数组常用方法的总结
JavaScript中数组Array常用的方法总结 标签(空格分隔): JavaScript ECMAScript数组给我们提供了许多常用的方法,便于我们对数组进行操作,下面,就来总结一下这些方法. ...
- Tuning 05 Sizing other SGA Structure
Redo Log Buffer Content The Oracle server processes copy redo entries from the user’s memory space t ...
- WCF系列 基础概念
WCF全称Windows Communication Foundation,是微软构建面向服务的分布式编程框架.而它其实是统一了COM和.Net Remoting等分布式技术提供一个完整,通用,可靠的 ...
- php 知乎爬虫
http://blog.jobbole.com/88788/ https://github.com/owner888/phpspider 费了半天劲安装了redis,导出cookie,发现仍是缺失很多 ...
- 第二百零四节,jQuery EasyUI,Dialog(对话框)组件
jQuery EasyUI,Dialog(对话框)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解EasyUI中Dialog(窗口)组件的使用方法,这个组件依赖 ...
- 说出几个与spring同类型的开源框架,说出几个与hibernate同类型的开源框架,说出几个与struts同类型的开源框架
说出几个与spring同类型的开源框架,说出几个与hibernate同类型的开源框架,说出几个与struts同类型的开源框架 解答: 1)与spring同类型的开源框架:JUIDE.EJB3.0.pi ...
- 【vijos】1765 Caculator(代码题)
https://vijos.org/p/1765 这题用白书的方法是n^2的,所以我tle了一个点..sad. 我稍微优化了一下. 这个题给我最大的感受不是这个题本身,而是我感受到了自己思考以后并认真 ...
- 【BZOJ】1026: [SCOI2009]windy数(数位dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=1026 我果然很弱啊... 考虑数位dp.枚举每一位,然后限制下一位即可. 一定要注意啊!在dfs的时 ...
- jquery动态调整div大小使其宽度始终为浏览器宽度
需要设置宽度为整个浏览器宽度的div,当然我们可以使用相对布局的方式做到这一点,下面是具体实现,大家可以参考下 有时候我们需要设置宽度为整个浏览器宽度的div,当然我们可以使用相对布局的方式做到这一点 ...