matplotlib作图——plot() 线图

2023-05-17,,

线图

#定义
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 [(PathTransform)| 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() 线图的相关教程结束。

《matplotlib作图——plot() 线图.doc》

下载本文的Word格式文档,以方便收藏与打印。