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