线图
#定义 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 | 浮动 |