python使用matplotlib模块绘制多条折线图、散点图

yipeiwu_com6年前Python基础

今天想直观的展示一下数据就用到了matplotlib模块,之前都是一张图只有一条曲线,现在想同一个图片上绘制多条曲线来对比,实现很简单,具体如下:

#!usr/bin/env python
#encoding:utf-8
 
'''
__Author__:沂水寒城
功能:折线图、散点图测试
'''
 
import random
import matplotlib 
import matplotlib.pyplot as plt 
 
 
def list2mat(data_list,w):
 '''
 切片、转置
 '''
 mat=[]
 res=[]
 for i in range(0,len(data_list)-w+1,w):
  mat.append(data_list[i:i+w])
 for i in range(len(mat[0])):
  one_list=[]
  for j in range(len(mat)):
   one_list.append(mat[j][i])
  res.append(one_list)
 return res
 
 
 
def draw_pic_test():
 '''
 作图
 '''
 data_list=[]
 for i in range(100):
  data_list.append(random.randint(2,150))
 month_list=range(1,11,1)
 mat=list2mat(data_list,w=10)
 for one_list in mat:
  one_list=[int(one) for one in one_list]
  plt.plot(month_list,one_list,"x-",label="test_zhexian") 
 plt.savefig('test_zhexian.png')
 plt.close()
 for one_list in mat:
  one_list=[int(one) for one in one_list]
  plt.scatter(month_list,one_list,marker='x',label='test_sandian',s=30) 
 plt.savefig('test_sandian.png')
 plt.close()
 
 
 
if __name__ == '__main__':
 draw_pic_test()

结果如下:

1.折线图

2.散点图

挺有意思的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

解决python执行不输出系统命令弹框的问题

最近做一个的GUI,因为调用了os模块里的system方法,使用pyinstaller打包的时候选择不输出系统命令弹框,程序无法运行,要求要有系统命令框。在网上找到一个解决办法。使用su...

利用selenium 3.7和python3添加cookie模拟登陆的实现

利用selenium 3.7和python3添加cookie模拟登陆的实现

前言 随着Python3的普及,Selenium3也跟上了行程。而Selenium3最大的变化是去掉了Selenium RC,另外就是Webdriver从各自浏览器中脱离,必须单独下载。...

Python下rrdtool模块的基本使用方法

最近需要用python根据收集到的数据进行绘图,决定使用rrd数据库,然后配合rrdtool来绘图,故学习一下rrdtool的用法。 用法如下: 创建: create(...) crea...

Python中使用语句导入模块或包的机制研究

这篇文章讨论了Python的from <module> import *和from <package> import *,它们怎么执行以及为什么使用这种语法(也许...

Python实现Youku视频批量下载功能

Python实现Youku视频批量下载功能

前段时间由于收集视频数据的需要,自己捣鼓了一个YouKu视频批量下载的程序。东西虽然简单,但还挺实用的,拿出来分享给大家。   版本:Python2.7+BeautifulSoup3.2...