一个Python函数解决各样式折线图绘制——Matplotlib库示例
Posted Z.Q.Feng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个Python函数解决各样式折线图绘制——Matplotlib库示例相关的知识,希望对你有一定的参考价值。
系列文章目录
该系列部分文章目录:
- 一个Python函数解决折线图绘制——Matplotlib库示例(1)
- 为图像插入水平线和垂直线——Matplotlib库示例(2)
- 一个Python函数解决散点图绘制——Matplotlib库示例(3)
- ......
文章目录
一、前言
使用一个函数即可实现折线图的绘制,我们只需要准备号处理好的数据,传入到函数中并调用,即可实现折线图的绘制与输出。
- Python版本:3.8.10
- Matplotlib版本:3.3.2
注:Matplotlib 版本信息可以通过 pip show matplotlib 命令获得
二、函数代码
复制粘贴即可。
def LinePlot(x, y, filename):
"""
Created on Sat Jul 17 11:02:06 2021
Input :
x A list that stores the abscissa elements you want to draw
y A list of ordinate elements that you want to draw
filename The name of the image you are about to save
Output :
None
@author: zq
"""
# 设置 matplotlib 参数以显示 TeX 字体,不用可删去
plt.rcParams.update(plt.rcParamsDefault)
plt.rcParams['text.usetex'] = True
plt.rcParams['font.size'] = 18
plt.rcParams['font.family'] = "serif"
#------------更改以下变量值以修改图像样式-------------#
# linestyles = ['-', '--', '-.', ':'],默认为 '-'
linestyle = '--'
# linewidth = [2., 3., 4., 5...]
linewidth = 3
# 标记点间隔和标记大小,即隔几个点便高亮显示一个点
mark, marksize = 5, 8
# 线条颜色,红色:#DC143C,蓝色:#0000FF,绿色:#008000
# 橙色:#FFA500,黑色:#000000,灰色:#808080
color = '#DC143C'
# 添加图像标签,可使用 TeX 公式,函数内已设置好数学环境
label = 'y = sin^2(x) + cos(x)'
xlabel, ylabel = 'x', 'y'
# 往图像中添加文字,tx、ty 是添加位置坐标
text = 'sample'
tx, ty = -2, 0
#------------更改以上变量值以修改图像样式-------------#
# 创建图片,可自行设置图片横纵比
plt.figure(figsize = (16, 9))
# 横、纵坐标标签
plt.xlabel('$' + xlabel + '$')
plt.ylabel('$' + ylabel + '$')
# 绘制图像
plt.plot(x, y, 'o', ls = linestyle, lw = linewidth, ms = marksize,\\
markevery = mark, color = color, label = '$' + label + '$')
# 显示标签
plt.legend()
# 往图像中添加文字,第二个参数 xy 是文字出现起始点坐标
plt.annotate(text, xy = (tx, ty), va = 'center', ha = 'left')
# 显示图像
plt.show()
# 保存图片为 png 格式
plt.savefig(filename, dpi = 300, bbox_inches = 'tight', facecolor = 'w')
要更改生成的图像样式,只需要更改函数体第二部分的变量值即可。
三、使用步骤
1. 引入库
代码如下:
import numpy as np
import matplotlib.pyplot as plt
2. 生成数据
这里我们使用上述函数绘制 的图像,首先我们创造函数坐标数据如下:
N = 50
x = np.linspace(0., 10., N)
y = np.sin(x)**2 + np.cos(x) / 2
其中 x 、y 为两个列表,并且元素个数一定要相同!
3. 调用函数
调用函数,生成图像,这里我们保存的图像文件名为 sample1.png,主函数代码如下:
if __name__ == '__main__':
N = 50
x = np.linspace(0., 10., N)
y = np.sin(x)**2 + np.cos(x)
filename = 'sample1'
LinePlot(x, y, filename)
生成图像如下:
四、变量说明
以下不同变量之间的配置情况均以图片对比的方式进行说明:
1. linestyle 变量
2. linewidth 变量
3. mark、marksize 变量
4. color 变量
文章到此就结束了,有帮助可以点赞哦,谢谢大家的支持!
以上是关于一个Python函数解决各样式折线图绘制——Matplotlib库示例的主要内容,如果未能解决你的问题,请参考以下文章
Python使用matplotlib模块绘制多条折线图散点图