一、为什么要写这个代码

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

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

  1. python的scrapy框架----->可以使我们更加强大,为打破写许多代码而生

    目录 scrapy框架 pipeline-itrm-shell scrapy模拟登录 scrapy下载图片 下载中间件 scrapy框架 含义: 构图: 运行流程:1.scrapy框架拿到start_ ...

  2. c语言软件清屏代码,求用switch语句写的代码,要清屏,要满足图、、,谢谢,C语言...

    void ret(){ int a,b; printf("请输入矩形的长:"); scanf("%d",&a); printf("请输入矩形的 ...

  3. 图的链式存储结构解析(邻接表、逆邻接表、十字链表、邻接多重表)

    图的矩阵表示法比较消耗空间,需要花费$ n 2 n^2 n2$个单元存储边(弧).在边数较少的情况下比较浪费.我们这里来讨论图的链式存储结构. 图的链式结构主要有四类:邻接表.逆邻接表.十字链表.邻接 ...

  4. 从视觉到语言:半监督式学习的大规模实际运用

    来源:TensorFlow本文约2300字,建议阅读5分钟 Noisy Student 半监控式蒸馏的实践应用案例. 监督式学习 (Supervised Learning),即使用已知的结果数据(即标 ...

  5. 微信多图上传,解决android多图上传失败问题

    微信提供了文件上传的方法wx.uploadFile来上传我们的图片 wx.chooseImage({success: function(res) {var tempFilePaths = res.te ...

  6. python 折线图_Python 编程一次画三种图:柱状图、散点图、折线图

    Python 编程一次画三种图:柱状图.散点图.折线图 柱状图.散点图.折线图是三种常用数据图,用 Python 能轻易的画出来. #导入必须的库 import matplotlib.pyplot a ...

  7. python 画蜘蛛_R绘图 vs Python绘图(散点图、折线图、直方图、条形图、箱线图、饼图、热力图、蜘蛛图)...

    写在前面:为啥不用excel绘制这些图,用PoweBI,帆软BI等可视化软件来绘图,不是更方便吗?的确,这些工具都很方便,但同时,它们显得很呆,不够灵活,更为致命的是,它们绘制出的图形,分辨率不够,用 ...

  8. python画简单图片-Python绘制“高颜值”桑基图

    请看以下图片: 相信许多小伙伴第一眼就会被它美丽的外表所吸引,由此引发一连串的惊叹: "这个图叫什么???" "这个图真好看!!!怎么画啊?" 为了满足大家的好 ...

  9. python画简单图片-Python 画个图

    先放上最后的结果图(数据画的有点丑,随便看看就好了): 功能描述: 这个脚本主要的作用就是监视指定文件夹中(示例中在脚本所在文件夹下)指定文件这里就是csv文件中的数据做折线图:再将这一系列的图保存成 ...

最新文章

  1. IPython 更改默认字体大小
  2. 349套HTML5+CSS3各行各业网站模板免费下载
  3. NSString ,NSMutableString用法以及一些常用方法
  4. Docker最全教程——从理论到实战(二)
  5. 有了 IP 地址,为什么还要用 MAC 地址?
  6. Qt文档阅读笔记-加载HeightMap(高度图)构造3D地形图
  7. android zip压缩
  8. 坐标的先对转化clienttoscreen与screentosclient
  9. C和指针 第十六章 标准函数库 本地跳转setjmp.h
  10. 好程序员大数据入门学习之Hadoop技术优缺点 1
  11. APA 论文的 格式 及 样式标准
  12. AMBA_AXI总线详解
  13. 电脑无法从U盘启动的问题解决
  14. 独立键盘检测 proteus仿真小实验
  15. 支付宝小程序uni-app的map多边形polygons不显示问题解决
  16. html中div是什么意思
  17. App应用中拨打电话
  18. 若用MASM写操作系统的启动部分如何实现? 其他开发语言 / 汇编语言 - CSDN社区 community.csdn.net
  19. tomcat介绍和TCP传输文件的实现
  20. 如何通过线性回归预测股票价格?

热门文章

  1. 百度无人车开进长沙!完成全国首例高速多车型车路协同演示
  2. 阿里软件测试岗:惨不忍睹的三面,幸好做足了准备,起薪18k
  3. redis基础数据类型set(无序不重复集合)
  4. 安装GenyMotion模拟器(Mac)
  5. sarama-cluster消费者运行时报panic: non-positive interval for NewTicker
  6. Microsoft Office Professional Plus 2010 在安装过程中出现错误的解决方案
  7. 【Vue2】VantUI项目-基础入门03
  8. Android_运用log4j打印日志
  9. :root的用法注意
  10. JSparseInt用法