一、plt.plot()函数详解
`plt.plot()`函数是matplotlib库中用于绘制线条图的函数,它有多个参数可以控制绘图的各个方面。以下是常用的一些参数及其作用:
- x: x轴数据的列表或数组
- y: y轴数据的列表或数组
- linewidth: 线条的宽度,从0到无穷大的浮点数,例如
2.5
- color: 线条的颜色,可以是字符串、元组或RGBA值,代表不同的颜色。例如:红色
'red'
、绿色'green'
、蓝色'blue'
、黑色'black'
、白色'white'
、灰色'gray'
等;RGB元组(0, 0, 1)
表示蓝色,RGBA元组(0, 1, 0, 0.5)
表示半透明的绿色 - linestyle: 线条的样式,可以是字符串,如实线
'-'
、虚线'--'
、点线':'
、破折线'-.'
等'-'
: 实线'--'
: 虚线'-.'
: 点划线':'
: 点线''
: 无线条,只显示标记'None'
: 无线条,不显示标记' '
: 无线条,不显示标记
- marker: 数据点的标记样式
'.'
: 小圆点','
: 像素点'o'
: 实心圆'v'
: 垂直三角形'^'
: 正三角形'<'
: 左三角形'>'
: 右三角形'1'
: 向下平行竖线'2'
: 向上平行竖线'3'
: 向左平行横线'4'
: 向右平行横线's'
: 正方形'p'
: 五边形'*'
: 星号'h'
: 六边形1'H'
: 六边形2'+'
: 加号'x'
: X号'd'
: 小菱形'D'
: 大菱形'|'
: 竖线'_'
: 横线
- markersize: 标记的大小,从0到无穷大的浮点数,例如
7.5
- label: 字符串类型,代表绘制的线条的标签,在图例中显示。例如
Line 1
- alpha: 线条和标记的透明度,从0到1的浮点数,表示线条和标记的透明度。例如
0.5
- zorder: 整数类型,表示绘图的层数,数值越大越靠上。例如
2
除了这些常用参数外,还有其他一些参数可以进一步定制化图形,例如:
- solid_capstyle: 实线端点的样式,如普通平直样式"butt"、圆角样式"round"、斜角样式"projecting"等
- dash_capstyle: 虚线端点的样式,与solid_capstyle类似
- dash_joinstyle: 虚线连接处的样式,如圆弧连接"round"、斜接连接"bevel"、锐角连接"miter"等
- solid_joinstyle: 实线连接处的样式,与dash_joinstyle类似
- markevery: 标记显示的间隔,可以是数字、元组或者函数,可以是数字、元组或者函数。例如:每隔一个数据点标记一个点:
markevery=2
;从第二个开始,每个5个数据点标记一个点:markevery=(1, 5)
;根据某个函数的返回值来控制标记的位置:markevery=lambda i: i%3==0
需要注意的是,`plt.plot()`函数的参数比较多,不同的参数组合可以实现各种各样的效果。具体使用时需要根据需求进行选择和调整,以获得期望的绘图效果。
二、举例如下
import random
import time
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"] # 设置显示中文字体
mpl.rcParams["axes.unicode_minus"] = False # 设置正常显示符号
x = range(1, 101)
times = [random.randint(10, 200) for i in range(100)]
plt.figure(figsize=(15, 5), dpi=80) # 创建画布
plt.plot(x, times, color='r', linestyle='-', label='t = 2', marker='v') # 绘制折线图,点划线
plt.legend(loc=0) # 显示图例
# 描述信息
plt.xlabel("设备数/个")
plt.ylabel("时间/s")
plt.title("时间变化图", fontsize=18)
plt.savefig("./time.jpg") # 保存至指定位置
plt.show() # 显示图像
效果如下
学习导航:https://www.xqnav.top/