python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > matplotlib定制绘图的线型、标记类型

python使用matplotlib定制绘图的线型、标记类型

作者:微小冷

这篇文章主要给大家详细介绍了python使用matplotlib定制绘图的线型、标记类型,文中有详细的代码示例,具有一定的参考价值,需要的朋友可以参考下

折线图

折线图是科研绘图中最常见的一种图形, 表现的是数据的变化情况

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,10,100)
y = np.sin(x)
plt.plot(x,y)
plt.show()

数列表

尽管绘图逻辑十分简单,仍然有一些可定制的绘图要素,比如线的宽窄、颜色、形态,以及标记、标记的颜色和形态。matplotlib中的许多绘图函数都通过下列参数来调控这些形态

参数简写功能
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()

效果如下

其中

特征字符串

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

x = np.linspace(0, 3.14, 20)
ys = [np.sin(x), np.cos(x), np.tan(x), np.sqrt(x)]
labels = ['sin', 'cos', 'tan', 'sqrt']
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()

sin曲线为例,其特征字符串rs-,表示颜色为红色r,标记类型为s,即正方形,线型是-,即实线。

到此这篇关于python使用matplotlib定制绘图的线型、标记类型的文章就介绍到这了,更多相关matplotlib定制绘图的线型、标记类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文