利用pyecharts读取csv并进行数据统计可视化的实现


Posted in Python onApril 17, 2020

因为需要一个html形式的数据统计界面,所以做了一个基于pyecharts包的可视化程序,当然matplotlib还是常用的数据可视化包,只不过各有优劣;基本功能概述就是读取csv文件数据,对每列进行数据统计并可视化,最后形成html动态界面,选择pyecharts的最主要原因就是这个动态界面简直非常炫酷。

先上成品图:

利用pyecharts读取csv并进行数据统计可视化的实现

数据读取和数据分析模块:

#导入csv模块
import csv
#导入可视化模块
from matplotlib import pyplot as plt
from pylab import mpl
import numpy as np
import random
from pyecharts import Line,Pie,Grid,Bar,WordCloud
#指定文件名,然后使用 with open() as 打开

python_file = 'haiyang.csv'
#filename = 'release/111.csv'
#python3 LieCharts.py test_chart --python_file 'haiyang.csv'
with open(python_file) as f:
    #创建一个阅读器:将f传给csv.reader
    reader = csv.reader(f)
    #使用csv的next函数,将reader传给next,将返回文件的下一行
    header_row = next(reader)

    for index, column_header in enumerate(header_row):
        print(index, column_header)

    #读取置信度
    #创建置信度的列表
    confidences =[]
    #创建风险等级数组
    highRisk = []
    middleRisk = []
    lowRisk = []
    noRisk = []
    person = []
    #创建时间点
    timePoint = []
    #文件信息
    fileInformation = []


    #遍历reader的余下的所有行(next读取了第一行,reader每次读取后将返回下一行)
    for row in reader:

    # 下面就是对某一列数据进行遍历,因为项目保密,就不列出具体代码了,其实就是各种循环语句,大家根据自己的数据简单写一下就行
            
    fileInformation.append('某某某某')
    fileInformation.append(row[0])
    fileInformation.append(row[1])
    fileInformation.append(row[2])
    fileInformation.append(len(confidences))
    int_confidences = []
    for i in confidences:
  # 同上
    len_noRisk = len(noRisk)
    len_lowRisk = len(lowRisk)
    len_middleRisk = len(middleRisk)
    len_highRisk = len(highRisk)
    len_person = len(person)

    total = int(len_person+len_highRisk+len_middleRisk+len_lowRisk+len_noRisk)
    if (len_highRisk > total/2):
  # 同上

数据可视化模块:

pie_title = Pie('某某某分析报表', "", title_pos='center',title_top="1%",title_text_size=42,subtitle_text_size=20)

value=[10000,6181,4386,4055,4000]
wordcloud=WordCloud(width=30,height=12,title="某某某某信息",title_pos="22%",title_top="12%",title_text_size=32)
wordcloud1=WordCloud(width=30,height=12,title="某某:"+fileInformation[1],title_pos="22%",title_top="22%",title_text_size=26)
wordcloud2=WordCloud(width=30,height=12,title="某某:"+fileInformation[2],title_pos="22%",title_top="30%",title_text_size=26)
#wordcloud3=WordCloud(width=30,height=12,title="音频采样率:"+fileInformation[3],title_pos="22%",title_top="38%",title_text_size=26)
#wordcloud4=WordCloud(width=30,height=12,title="总时长/s:"+fileInformation[4],title_pos="22%",title_top="36%",title_text_size=32)

# wordcloud.add("",fileInformation,value,word_size_range=[20,100],rotate_step=3
#        ,xaxis_pos=200,grid_left="1%",grid_bottom="50%",grid_top="5%",grid_right="80%")
#折线图
line=Line("某某某某某走势图",title_pos='center',title_top="51%",title_text_size=32,width=600,height = 20)
attr=timePoint
line.add("某某某某某",attr,int_confidences,legend_pos="85%",legend_top="54%",
    mark_point=["max","min"],mark_line=["average"])
#饼图
attr=["某某某某", "某某某某", "某某某某", "某某某"]
v1=[len_highRisk, len_middleRisk, len_lowRisk,len_noRisk]
pie=Pie("某某某某某某某",title_pos="65%",title_top="12%",title_text_size=32,width=100,height = 100)
pie.add("",attr,v1,radius=[0,30],center=[71,35],
    legend_pos="85%",legend_top="20%" ,legend_orient="vertical")
grid=Grid(width = 1800 ,height= 900)#调整画布大小

grid.add(line,grid_left="5%",grid_bottom="2%",grid_top="60%")
grid.add(pie_title,grid_bottom="10%")
grid.add(wordcloud,grid_left="1%",grid_bottom="50%",grid_top="5%",grid_right="80%")
grid.add(wordcloud1,grid_left="1%",grid_bottom="50%",grid_top="5%",grid_right="80%")
grid.add(wordcloud2,grid_left="1%",grid_bottom="50%",grid_top="5%",grid_right="80%")
#grid.add(wordcloud3,grid_left="1%",grid_bottom="50%",grid_top="5%",grid_right="80%")
#grid.add(wordcloud4,grid_left="1%",grid_bottom="50%",grid_top="5%",grid_right="80%")
grid.add(pie,grid_left="50%",grid_bottom="50%")


#grid.render()
grid.render(path='./release/XXXX.html')

根据需求这个还可以跨平台跨语言调用,比如C++程序调用python进行数据分析。

到此这篇关于利用pyecharts读取csv并进行数据统计可视化的实现的文章就介绍到这了,更多相关pyecharts读取csv可视化内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Python的Django框架中包装视图函数
Jul 20 Python
Python socket实现简单聊天室
Apr 01 Python
Python 读取某个目录下所有的文件实例
Jun 23 Python
用Django写天气预报查询网站
Oct 21 Python
Python向excel中写入数据的方法
May 05 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
Mar 08 Python
用python实现名片管理系统
Jun 18 Python
Python如何实现大型数组运算(使用NumPy)
Jul 24 Python
Python‘==‘ 及 ‘is‘相关原理解析
Sep 05 Python
python 读取、写入txt文件的示例
Sep 27 Python
Python+tkinter实现高清图片保存
Mar 13 Python
详解OpenCV曝光融合
Apr 29 Python
pyecharts动态轨迹图的实现示例
Apr 17 #Python
Windows下Anaconda安装、换源与更新的方法
Apr 17 #Python
Python openpyxl 插入折线图实例
Apr 17 #Python
python 画图 图例自由定义方式
Apr 17 #Python
关于python 的legend图例,参数使用说明
Apr 17 #Python
python 实现仿微信聊天时间格式化显示的代码
Apr 17 #Python
python matplotlib实现将图例放在图外
Apr 17 #Python
You might like
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
PHP实现带重试功能的curl连接示例
2016/07/28 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
jQuery.each()用法分享
2012/07/31 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
跟我学习javascript的作用域与作用域链
2015/11/19 Javascript
详解jquery事件delegate()的使用方法
2016/01/25 Javascript
js字符串引用的两种方式(必看)
2016/09/18 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
JS变量及其作用域
2017/03/29 Javascript
jQuery遮罩层实例讲解
2017/05/11 jQuery
对于js垃圾回收机制的理解
2017/09/14 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
2019/09/30 Javascript
vue - props 声明数组和对象操作
2020/07/30 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
Python 文件操作实现代码
2009/10/07 Python
用python实现批量重命名文件的代码
2012/05/25 Python
python简单商城购物车实例代码
2018/03/15 Python
IntelliJ IDEA安装运行python插件方法
2018/12/10 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
Europcar比利时:租车
2019/08/26 全球购物
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
师范应届生语文教师求职信
2013/10/29 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
致青春观后感
2015/06/09 职场文书