使用 jupyter-notebook + python + matplotlib 进行数据可视化
上次用 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 进行数据可视化的更多相关文章
- python matplotlib(数据可视化)
吐槽 网上搜了不少matplotlib安装方法(不信,你可以试试.) 我只能说,除了太繁琐,就是没什么用! 如果你是python3.6.5版本 我给你最最最正确的建议: 直接打开cmd,找到pip用命 ...
- matplotlib实现数据可视化
一篇matplotlib库的学习博文.matplotlib对于数据可视化非常重要,它完全封装了MatLab的所有API,在python的环境下和Python的语法一起使用更是相得益彰. 一.库的安装和 ...
- python grib气象数据可视化
基于Python的Grib数据可视化 利用Python语言实现Grib数据可视化主要依靠三个库——pygrib.numpy和matplotlib.pygrib是欧洲中期天气预报中心 ...
- TensorFlow Jupyter Notebook 和matplotlib安装配置
Jupyter Notebook 和matplotlib Jupyter Notebook安装 Python 3 : python3 -m pip install --upgrade pip pyth ...
- 基于matplotlib的数据可视化 - 笔记
1 基本绘图 在plot()函数中只有x,y两个量时. import numpy as np import matplotlib.pyplot as plt # 生成曲线上各个点的x,y坐标,然后用一 ...
- python matplotlib plot 数据中的中文无法正常显示的解决办法
转发自:http://blog.csdn.net/laoyaotask/article/details/22117745?utm_source=tuicool python matplotlib pl ...
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
- python 爬虫与数据可视化--matplotlib模块应用
一.数据分析的目的(利用大数据量数据分析,帮助人们做出战略决策) 二.什么是matplotlib? matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB ...
- 【Matplotlib】数据可视化实例分析
数据可视化实例分析 作者:白宁超 2017年7月19日09:09:07 摘要:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令 ...
随机推荐
- 使用Arthas 获取Spring ApplicationContext还原问题现场
## 背景 最近来了个实习僧小弟,安排他实现对目标网站 连通性检测的小功能,简单讲就是将下边的shell 脚本换成Java 代码来实现 ``` 1#!/bin/bash 2URL="http ...
- 伽马变换(一些基本的灰度变换函数)基本原理及Python实现
1. 基本原理 变换形式 $$s=cr^{\gamma}$$ c与$\gamma$均为常数 可通过调整$\gamma$来调整该变换,最常用于伽马校正与对比度增强 2. 测试结果 图源自skimage ...
- 富文本编辑器TinyMCE的使用(React Vue)
富文本编辑器TinyMCE的使用(React Vue) 一,需求与介绍 1.1,需求 编辑新闻等富有个性化的文本 1.2,介绍 TinyMCE是一款易用.且功能强大的所见即所得的富文本编辑器. Tin ...
- 【Java例题】7.2 线程题2-随机数求和线程
2.随机数求和线程.设计一个线程子类,产生10000个随机数,并求和,显示和的结果:然后编写主类,在主函数中定义一个线程对象,并启动这个线程. package chapter7; public cla ...
- 【游记】NOIP2018复赛
声明 我的游记是一个完整的体系,如果没有阅读过往届文章,阅读可能会受到障碍. ~~~上一篇游记的传送门~~~ 前言 参加完NOIP2018的初赛过后,我有点自信心爆棚,并比之前更重视了一点(也仅仅是一 ...
- win7-BIOS中开启AHCI模式电脑蓝屏怎么办?
win7-BIOS中开启AHCI模式电脑蓝屏怎么办? 来源:U大师 u盘装系统 不少网友都表示给电脑安装win7系统后,如果在BIOS中开启IDE模式就一切正常而为AHCI模式时就会出现蓝屏.其实那是 ...
- MVC+EF Core 完整教程20--tag helper详解
之前我们有一篇:“动态生成多级菜单”,对使用Html Helper做了详细讲述,并且自定义了一个菜单的 Html Helper: https://www.cnblogs.com/miro/p/5541 ...
- java web 加载Spring --web.xml 篇
spring是目前最流行的框架.今天谈谈对spring的认识 起步 javaweb中我们首先会遇到的配置文件就是web.xml,这是javaweb为我们封装的逻辑,不在今天的研究中.略过,下面是一个标 ...
- 【CodeForces - 1200C】Round Corridor (数论gcd)
Round Corridor Descriptions Amugae位于一个非常大的圆形走廊中.走廊由两个区域组成.内部区域等于nñ扇区,外部区域等于m米部门.在相同区域(内部或外部)的每对扇区之间 ...
- Mysql超详解
Mysql超详解 一.命令框基本操作及连接Mysql 找到Mysql安装路径,查看版本 同时按快捷键win+R会弹出一个框,在框中输入cmd 点击确定后会出现一个黑框,这是命令框,我们的操作要在这命令 ...