zoukankan      html  css  js  c++  java
  • python第三方库之matplotlib基本图形之折线图

    Matplotlib基本图形之折线图

    折线图特点

    折线图是用折线将各数据连起来组成的图形
    常用来观察数据随时间变化的趋势
    例如:股票价格,温度变化,等等

    示例代码:
    import os
    import time
    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib.dates as mdates
    
    basedir = os.path.dirname(os.path.abspath(__file__))
    resultdir = os.path.join(basedir, 'result')
    
    
    class Create_plot(object):
    
        def __init__(self,data1,data2,dst,name='',title='Title',color='r',mark='o',alpha=1):
            '''
    
            :param data1: x轴使用的数据,一般为列表
            :param data2: y轴使用的数据,一般为列表
            :param dst: 存放生成图片的文件夹路径
            :param name: 图片的名称,默认为当前时间戳
            :param title: 图片的标题,默认为Title
            :param c: 图片的颜色,默认为红色
            :param mark: 图片点的形状,默认为圆形
            :param alpha: 点的透明度,默认为1,即不透明
            '''
            self.x = data1
            self.y = data2
            self.dst = dst
            self.name = name if name else str(int(time.time()))
            self.title = title
            self.color = color
            self.marker = mark
            self.alpha = alpha
    
        def drew_normal(self):
            plt.plot(
                self.x,
                self.y,
                color = self.color,
                marker=self.marker,
                alpha = self.alpha
            )
            plt.title(self.title)
            picname = self.name+'.jpg'
            picdir = os.path.join(self.dst, picname)
            plt.savefig(picdir)
    
        def drew_date(self):
            plt.plot_date(
                self.x,
                self.y,
                color = self.color,
                marker=self.marker,
                alpha = self.alpha,
                linestyle = '-'
            )
            plt.title(self.title)
            picname = self.name+'.jpg'
            picdir = os.path.join(self.dst, picname)
            plt.savefig(picdir)
            # plt.show()

    绘制基本折线图

    temp = [2,4,7,10,11,13,15,18,17,13,10,7]
    hour = [0,2,4,6,8,10,12,14,16,18,20,22]
    
    PIC = Create_plot(hour,temp,resultdir)
    PIC.drew_normal()

    结果如下:

    绘制日期格式折线图

    money = [100,500,800,600,300]
    date = ['2018/6/1','2018/7/1','2018/8/1','2018/9/1','2018/10/1']
    strconverter = mdates.strpdate2num('%Y/%m/%d')
    date = [strconverter(x) for x in date]
    
    PIC = Create_plot(date, money,resultdir)
    PIC.drew_date()

    结果如下:

     

  • 相关阅读:
    1008 Elevator
    mysql---时间类型详解
    mysql导入导出
    mysql不能启动报error2013错误的解决办法
    mysql总结
    mysql安装图解
    Access连接数据源配置(新手必知)
    eclipse建包的一些细节
    数据库操作(存着用来复制省的每次写)
    (工具类)MD5算法|时间格式转换|字符串转数字
  • 原文地址:https://www.cnblogs.com/Keys819/p/9302675.html
Copyright © 2011-2022 走看看