【最简单的python画折线图】半封装式代码画折线图,防止写重复代码

article/2025/11/5 8:27:55

一、为什么要写这个代码

很多时候画散点的折线图时,总是忘记代码细节怎么写,于是就想不如花点时间写几个函数,把画图的功能封装一下,下次画图这部分代码就能与其他代码隔离开来。使用者无需过多关注内部细节,只用关心数据是什么就ok

注:如果想自己改造函数的内部也是非常简单的,需要改造的部分旁都标注了这部分函数参数的参考链接。

二、画折线图的几个函数

看代码,一看就知道在写什么

#参考
# https://zhuanlan.zhihu.com/p/234740372
#https://blog.csdn.net/daybreak___/article/details/107752519
import numpy as np  # 加载数学库用于函数描述
import matplotlib #用 matplotlib 来进行 python 画图
import matplotlib.pyplot as plt
from matplotlib import style#初始化折线图
def initLineChart(title="折线图标题",xlabel='x轴标签',ylabel='y轴标签'):style.use('ggplot')  # 折线图风格 默认加载'ggplot'风格plt.title(str(title))  # 折线图标题plt.rcParams['font.sans-serif'] = ['SimHei']  # 显示汉字plt.xlabel(str(xlabel))  # x轴标题plt.ylabel(str(ylabel))  # y轴标题pass#折线图中的一条线
def drawLineChart(x,y,inter=1,marker='o',markersize=3):if len(x) != len(y):print("输入的x,y长度不匹配")return False#对x,y进行等间隔采样,采样间隔为interx = x[0:len(x):inter]y = y[0:len(y):inter]# 绘制折线图,添加数据点,设置 点的性质marker, 点的大小 makersizeline = plt.plot(x, y, marker=marker, markersize=markersize)  # plt.text()函数用于设置文字说明 设置数据点的标签位置及大小 #具体设置参考参考 : https://blog.csdn.net/TeFuirnever/article/details/88947248# 坐标(a,b)# string为坐标的文字说明# ha horizontalalignment是水平对齐方式 ,参数:[ ‘center’ | ‘right’ | ‘left’ ]#va verticalalignment是垂直对齐方式 ,参数:[ ‘center’ | ‘top’ | ‘bottom’ | ‘baseline’ ]#xycoords选择指定的坐标轴系统#arrowprops #箭头参数,参数类型为字典dict#bbox给标题增加外框 for a, b in zip(x, y):plt.text(a, b, s=b, ha='center', va='bottom', fontsize=10)  return line#创建图例 plt.legend()
# 参考:https://zhuanlan.zhihu.com/p/111108841
#eg:plt.legend(handles=[line1, line2], labels=['girl购物欲望','boy购物欲望'], loc='best')
def make_LineChart_Show(lines,labels):plt.legend(handles=lines,labels=labels, loc='best')plt.show()  # 显示折线图pass

三、封装后的使用

x = [6, 24, 48, 72]
y1 = [87, 174, 225, 254]
y2 = [24, 97, 202, 225]
y3 = [110, 138, 177, 205]
y4 = [95, 68, 83, 105]
y5 = [72, 74, 76, 67]initLineChart()
line1, = drawLineChart(x,y1) #这里一定要加这个,
line2, = drawLineChart(x,y2)
line3, = drawLineChart(x,y3)
line4, = drawLineChart(x,y4)
line5, = drawLineChart(x,y5)make_LineChart_Show([line1,line2,line3,line4,line5],['标签一', '标签二', '标签三', '标签四', '标签五'])

实际效果如下:

在这里插入图片描述

补充

1.如何对一个list进行等间隔采样——使用切片即可

参考:https://blog.csdn.net/ICQQ123/article/details/103934858

list = [1,2,3,4,5,6]
n = len(list)
inter = 2 # 间隔
list_2 = list[0:n:inter]

http://chatgpt.dhexx.cn/article/udmxytHI.shtml

相关文章

python画二维折线图_python画折线图的程序

前做PPT要用到折线图,嫌弃EXCEL自带的看上去不好看,就用python写了一个画折线图的程序。 import matplotlib.pyplot as plt x[1,2,3,4,5,6] y1[35000,85000,120000] y2[45000,85000,100000] y3[25000,65000,90000] point1180180 point2200000 pl…

python怎么画散点图_用python画xy散点图

importmatplotlib.pyplot as plt plt.plot([1,2,3],[4,5,6],ro) plt.show()#这个智障的编辑器 这样的话,就可以画一个散点图,图中的点分别是(1,4)、(2,5)、(3,6)。 是不是挺难看的,我们来调整一下x,y 的上下界,再画一遍。 imp…

Python画散点图之seaborn

1.散点图。 import seaborn as sns import matplotlib.pyplot as plt df sns.load_dataset(iris)p1sns.regplot(xdf["sepal_length"], ydf["sepal_width"]) plt.show()# 保存图片 fig p1.get_figure() fig.set_size_inches(4.8, 4.8) fig.savefig(PNG/#…

python画二维折线图_利用python画折线图

# encodingutf-8 import matplotlib.pyplot as plt from pylab import * #支持中文 mpl.rcParams[font.sans-serif] [SimHei] names [5, 10, 15, 20, 25] x range(len(names)) y [0.855, 0.84, 0.835, 0.815, 0.81] y1[0.86,0.85,0.853,0.849,0.83] #plt.plot(x, y…

python画折线图两种写法

import matplotlib.pyplot as plt from openpyxl import load_workbook # 这个是从Excel表格中导入数据 #为了让中文不显示成乱码 plt.rcParams[font.sans-serif][simhei] plt.rcParams[axes.unicode_minus]Falsex_data [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] x_data list(ran…

Python画折线图示例代码

Python画图 双折线图代码示例 import matplotlib.pyplot as plt import pandas as pd data pd.read_excel(r1.xlsx,headerNone) fig, ax1 plt.subplots() color tab:red ax1.set_xlabel(Year) ax1.set_ylabel(SHRL, colorcolor) ax1.plot(data.iloc[1:,0], data.iloc[1:,1…

用python画散点图

这边通过画一个平方图来进行举例子 import matplotlib.pyplot as plt plt.style.use(seaborn) plt.rcParams[font.sans-serif] [Arial Unicode MS] fig,ax plt.subplots() #x_values[1,2,3,4,5,6,7,8,9,10] #y_values[1,4,9,16,25,36,49,64,81,100] x_valuesrange(1,1001) y_…

python画散点图、折线图

Python-画图(散点图scatter、保存savefig)及颜色大全 python中的散点图还可以这么画 (这个针对改变描点形状) 一、散点图 import numpy as np import matplotlib.pyplot as pltplt.rcParams[font.sans-serif][SimHei] plt.rcPar…

Python画图之散点图(plt.scatter)

散点图的应用很广泛,以前介绍过很多画图方法:Python画图(直方图、多张子图、二维图形、三维图形以及图中图),漏掉了这个,现在补上,用法很简单,我们可以help(plt.scatter)看下它的用法…

Python 绘制数据散点图

🏳️‍🌈Python 有着强大的绘图库 matplotlib, 该库集成了大量的绘图函数,可以满足我们平时绝大多数的绘图需求。其中,matplotlib 库是 Python 进行可视化功能的主要软件包,matplot 本是 matlab 中的绘图库&#xff0c…

python画散点图

文章目录 前言一、散点图函数二、函数参数介绍三、代码实例总结 前言 最近在搞聚类算法,所以难免会用到一些散点图的用法,总结一下,方便以后参考。 一、散点图函数 #首先调用一下画图的库 import matplotlib.pyplot as plt plt.scatter(x, …

python绘制散点图

前言 散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,散点图表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。 用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间…

python绘制散点图,非常全,非常详细(已验证)

少废话,直接上代码 import matplotlib.pyplot as plt import numpy as np # 1. 首先是导入包,创建数据 n 10 x np.random.rand(n) * 2# 随机产生10个0~2之间的x坐标 y np.random.rand(n) * 2# 随机产生10个0~2之间的y坐标 # 2.创建一张figure fig …

2MSL的特点及意义

含义:2MSL是主动方在第四次挥手后进入等待时间 特点: 1、在2MSL时段中,两端的端口都不能用,除非加入SO_REUSEADDR参数&am…

TCP之2MSL

1.TCP之2MSL 1.1 MSL MSL:Maximum Segment Lifetime报文段最大生存时间,它是任何报文段被丢弃前在网络内的最长时间 为什么存在MSL TCP报文段以IP数据报在网络内传输,而IP数据报则有限制其生存时间的TTL字段,并且TTL的限制是基于跳数 MSL大小…

TCP的2MSL问题

2MSL (Maximum SegmentLifetime) TIME_WAIT状态的存在有两个理由: 让4次挥手关闭流程更加可靠;4次挥手的最后一个ACK是是由主动关闭方发送出去的,若这个ACK丢失,被动关闭方会再次发一个FIN过来。若主动关闭方能够保持一个2MSL的TI…

linux内核网络TIME_WAIT

目录 四次挥手过程 出现的现象 如何查看信息 TIME_WAIT状态等待的时间 TIME_WAIT 的作用 TIME_WAIT副作用 解决方法 1、将系统值(net.ipv4.tcp_max_tw_buckets)调小 2、调低TCP_TIMEWAIT_LEN 3、SO_LINGER 4、net.ipv4.tcp_tw_reuse 5、SO_…

TCP四次挥手 2MSL TIME_WAIT详解

TCP四次挥手 & 2MSL & TIME_WAIT详解 TCP四次挥手流程各状态解析 2MSL(2倍最大报文段生成时间)2MSL (Maximum Segment Lifetime) TIME_WAIT状态的存在有两个理由该状态为什么设计在主动关闭这一方?如何正确对待2MSL TIME_WAIT? TCP四次挥手流程 【注意】只要是申请关…

网络编程知识预备(2) —— 三次握手与四次挥手、半连接状态、2MSL

参考:网络编程知识预备(2) ——三次握手与四次挥手、流量控制(滑动窗口)、拥塞控制、半连接状态、2MSL_行稳方能走远的博客-CSDN博客 目录 一、三次握手 什么是三次握手? 三次握手图解 三次握手过程解析 (1)第一次握手 &am…

2.5Modelsim

视频链接:https://v.youku.com/v_show/id_XNTkxNDg2MTEwNA.html?x&sharefromandroid&sharekey59e4c264c93de043603d938d05eb7fd10 题目:例2.5.1中2选1数据选择器的仿真步骤 原理与目的: 原理:数据选择是指经过选择&am…