上次用 python 脚本中定期查询数据库,监视订单变化,将时间与处理完成订单的数量进行输入写入日志,虽然省掉了人为定时查看数据库并记录的操作,但是数据不进行分析只是数据,要让数据活起来!

为了方便看出已完成订单的趋势,又不想想到使用Excel, 想到手动绘制表格填入数据就充满了抵触,哈哈,能用代码完成的事绝不手操,不能愧对python!

先确保python环境和pip已经安装好

这个过程分为3步: 安装 jupyter-notebook  ——>  安装matplotlib  ——> 写代码呗

  1. 为什么用 jupyter-notebook ,jupyter安装方便,功能强大,基于浏览器编辑运行,数据可视化支持友好 ....

    安装: pip install jupyter notebook

     运行:  在cmd 中输入: jupyter-notebook

     你将看到如下信息界面:

      

    浏览器会默认打开127.0.0.1:8888,如果没有,手动复制红框地址在浏览器打开,然后你就可以愉快地使用jupyter了!

    在右上角有个NEW按钮,可以看到jupyter支持创建的类型,python3: 一个交互式的python环境,支持tab 提示补全, Text File:普通文本文件, Folder: 文件夹, Terminal: 比系统cmd更舒服的控制台

    

    还可以用ls ,pwd等linux命令 是不是很强大!

  2.  安装matplotlib, Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。

    pip install matplotlib

  3. 如果有log文件内容如下:

    ------------------current time: 2019-09-11 11:33:55, finished order count: 0 --------------------

    ------------------current time: 2019-09-11 11:43:55, finished order count: 63 --------------------

    ------------------current time: 2019-09-11 11:53:55, finished order count: 117 --------------------

    ------------------current time: 2019-09-11 12:03:55, finished order count: 135 --------------------

    ------------------current time: 2019-09-11 12:13:55, finished order count: 185 --------------------

    ------------------current time: 2019-09-11 12:23:55, finished order count: 218 --------------------

    要将时分秒数据作为x轴数据,0,63,117等订单数据作为y轴数据,看代码:

      

# -*- coding=utf-8 -*-
import re
import pandas
from matplotlib import pyplot as plt with open('../log.log','r') as f:
lines = f.readlines() x = []
y = []
for line in lines:
date = re.search(r' (\d+:\d+:\d+)',line).group(1)
x.append(date)
finishOrder = re.search(r'count: (\d+)', line).group(1)
y.append(int(finishOrder)) plt.figure(figsize=(20,10)) #创建绘图对象 指定figure的宽和高,单位为英寸
plt.plot(x,y,"o--",linewidth=1) #在当前绘图对象绘图(X轴,Y轴,蓝色虚线,线宽度)
plt.xticks(rotation=25) # 旋转角度,避免x轴间距不足导致重叠
plt.tick_params(labelsize=14)
for x,y in zip(x,y):
plt.text(x,y + 5,'%.0f' %y,ha = 'center',fontsize = 14) # 使折现节点显示具体的值 , +5 表示节点的值位于节点的上下距离高度
plt.xlabel("时间段",fontproperties="SimSun",fontsize = 18) #X轴标签 fontproperties设置字体,不然会中文乱码
plt.ylabel("已完成订单数",fontproperties="SimSun",fontsize = 18)
plt.title("趋势图",fontproperties="SimSun",color='red',fontsize = 24) #图标题
plt.savefig('趋势图.png') # 保存生成的趋势图到本地 必须写在show前面,不然保存的图片是空白的
plt.show() #显示图

看效果:

  

    

使用 jupyter-notebook + python + matplotlib 进行数据可视化的更多相关文章

  1. python matplotlib(数据可视化)

    吐槽 网上搜了不少matplotlib安装方法(不信,你可以试试.) 我只能说,除了太繁琐,就是没什么用! 如果你是python3.6.5版本 我给你最最最正确的建议: 直接打开cmd,找到pip用命 ...

  2. matplotlib实现数据可视化

    一篇matplotlib库的学习博文.matplotlib对于数据可视化非常重要,它完全封装了MatLab的所有API,在python的环境下和Python的语法一起使用更是相得益彰. 一.库的安装和 ...

  3. python grib气象数据可视化

    基于Python的Grib数据可视化           利用Python语言实现Grib数据可视化主要依靠三个库——pygrib.numpy和matplotlib.pygrib是欧洲中期天气预报中心 ...

  4. TensorFlow Jupyter Notebook 和matplotlib安装配置

    Jupyter Notebook 和matplotlib Jupyter Notebook安装 Python 3 : python3 -m pip install --upgrade pip pyth ...

  5. 基于matplotlib的数据可视化 - 笔记

    1 基本绘图 在plot()函数中只有x,y两个量时. import numpy as np import matplotlib.pyplot as plt # 生成曲线上各个点的x,y坐标,然后用一 ...

  6. python matplotlib plot 数据中的中文无法正常显示的解决办法

    转发自:http://blog.csdn.net/laoyaotask/article/details/22117745?utm_source=tuicool python matplotlib pl ...

  7. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  8. python 爬虫与数据可视化--matplotlib模块应用

    一.数据分析的目的(利用大数据量数据分析,帮助人们做出战略决策) 二.什么是matplotlib? matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB ...

  9. 【Matplotlib】数据可视化实例分析

    数据可视化实例分析 作者:白宁超 2017年7月19日09:09:07 摘要:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令 ...

随机推荐

  1. (14)ASP.NET Core 中的日志记录

    1.前言 ASP.NET Core支持适用于各种内置和第三方日志记录提供应用程序的日志记录API.本文介绍了如何将日志记录API与内置提供应用程序一起使用. 2.添加日志提供程序 日志记录提供应用程序 ...

  2. c#链接数据库,查找数据信息

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  3. LR有的JMeter也有之三“集合点”

    继续上两篇的文章内容和思路进行.(文思如尿崩,谁与我争锋----韩寒)哈哈! 集合点:简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念 ...

  4. FTP工具-FileZilla安装使用教程

    1.首先,百度搜索“FileZilla”,进入官网,下载地址:https://www.filezilla.cn/download/client  ,根据自己电脑配置去下载 2.下载本地,双击运行安装程 ...

  5. 天气预报APP(1)

    一个天气预报APP至少应该具备以下功能: *可以罗列出全国所有的省.市.县: *可以查看全国任意城市的天气信息: *可以自由的切换城市,去查看其他城市的天气: *提供手动更新以及后台自动更新天气的功能 ...

  6. 《深入理解Java虚拟机》-(实战)练习修改class文件

    这是一篇修改class文件的文章.注释并不完全,要抓住这次练习的目的: boolean在虚拟机中是以何种方式解读的 好的,开始我的表演 1.安装asmtools.jar 2.编写一个java文件,并编 ...

  7. DT-06 For Homekit

    一. 配置DT-06上网 连接此热点,会自动弹出wifi配置页面. 输入选中的路由密码,点 Join加入,如果路由没有出现在列表中,点 Other手工输入(仅支持2.4g路由配置) 二.配置dt-06 ...

  8. Go类型别名与类型定义区别

    类型别名和自定义类型区别 自定义类型 //自定义类型是定义了一个全新的类型 //将MyInt定义为int类型 type MyInt int 类型别名 //类型别名规定:TypeAlias只是Type的 ...

  9. Java虚拟机详解(六)------内存分配

    我们说Java是自动进行内存管理的,所谓自动化就是,不需要程序员操心,Java会自动进行内存分配和内存回收这两方面. 前面我们介绍过如何通过垃圾回收器来回收内存,那么本篇博客我们来聊聊如何进行分配内存 ...

  10. 吉特日化MES-工业生产盲区

    工业生产的几大盲区 1  重硬件忽略软件 : 目前只要提到智能化,大家都是想到的是一大堆自动执行的设备,什么机器人,输送线,人脸识别摄像头等,在一成套的系统中可能硬件几百万上千万,软件可以是几万几千几 ...