matplotlib绘图初步

文章目录

绘制曲线图

matplotlib是python中最常用的可视化库,提供了不同坐标系下的二十余种常用图像,并且提供了动态图像绘制的方法,可以满足科学计算中的绝大多数可视化需求。而在matplotlib中,绝大多数的常用函数都在pyplot模块中,为了便于行文,在后文中,用【plt】代替。

而在所有的绘图类型中,又以曲线图最为常用,在【plt】中,用plot来绘制曲线图。正常来说,在平面直角坐标系中绘制折线,至少需要

x , y x,y

x,y两个坐标,即输入两组数据。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(100)
y = x**2

plt.plot(x,y)
plt.show()

 
 
运行
运行

在这里插入图片描述

如果plot函数只接受一组数据,则会默认自然数列为

x x

x坐标,故而上述绘图代码可以更简单地写为下面的形式。

plt.plot(y)
plt.show()

 
 

完整流程

尽管两行代码便可完成曲线绘制,但这显然略去了诸多环节,一个完整的绘图流程则至少包含四行代码

fig = plt.figure("plot")
ax = fig.add_subplot()
ax.plot(x,y)
plt.show()

 
 

其中,fig是绘图窗口;ax是绘图坐标系;接下来在ax中绘制

x , y x,y

x,y的曲线,最后调用plt.show,将我们绘制好的窗口弹出,这才是【plt】绘图的全部流程。

图像属性

尽管绘图逻辑十分简单,但【plt】提供了常用的绘图要素,比如线的宽窄、颜色、形态以及标记,通过下列参数来调控

参数简写功能
linestylels线型
linewidthlw线宽
marker标记形状
markersizems标记尺寸
markeredgewidthmew标记边缘线宽
markeredgecolormec标记颜色
markerfacecolormfc标记内部颜色

其中可选的线型和点型如下表所示

字符类型字符类型字符类型字符类型
‘-’实线‘–’虚线‘-.’虚点线‘:’点线
‘.’‘,’虚线
‘o’圆点‘*’星型点‘+’加号点‘x’乘号点
‘v’下三角点‘^’上三角点‘<’左三角点‘>’右三角点
‘1’下三叉点‘2’上三叉点‘3’左三叉点‘4’右三叉点
‘s’正方点‘p’五角点‘h’六边形1‘H’六边形2
‘D’实心菱形点‘d’瘦菱形点‘_’横线点

常见颜色可通过下表中的字符来设置

字符颜色字符颜色字符颜色
‘b’blue‘g’green‘r’red
‘c’cyan‘m’magenta‘y’yellow
‘k’black‘w’white

下面挑选几个做个演示

x = np.linspace(0, 3.14, 20)

Ls = [‘-’, ‘–’, ‘-.’, ‘:’]
mks = [‘s’, ‘p’, ‘h’, ‘H’]
cs = [‘r’, ‘g’, ‘b’,‘c’]
ys = [np.sin(x), np.cos(x), np.tan(x), np.sqrt(x)]
labels = [‘sin’, ‘cos’, ‘tan’, ‘sqrt’]

for i in range(4):
plt.plot(x, ys[i], ls=Ls[i],
marker=mks[i], ms=5,
color=cs[i], label=labels[i])

plt.grid()
plt.legend()
plt.show()

上面的绘图代码中,除了规范了点、线特性,还通过plt.grid绘制了网格,以及用plt.legend绘制了图例。效果如下

在这里插入图片描述
考虑到线的类型、点的类型以及颜色类型都可以用字符来表示,所以【plt】支持奖这些类型合在一起,从而在绘图时可以更加便捷,所以将代码写成下面的形式,也可以得到和上图相同的结果

strs = ['rs-', 'gp--', 'bh-.', 'cH:']
for i in range(4):
    plt.plot(x, ys[i], strs[i], ms=5, label=labels[i])

plt.grid()
plt.legend()
plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值