利用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复制文件代码实现
Dec 23 Python
详解Python3.1版本带来的核心变化
Apr 07 Python
使用python为mysql实现restful接口
Jan 05 Python
Python做智能家居温湿度报警系统
Sep 25 Python
python获取服务器响应cookie的实例
Dec 28 Python
详解Python3 对象组合zip()和回退方式*zip
May 15 Python
如何使用python操作vmware
Jul 27 Python
python实现BP神经网络回归预测模型
Aug 09 Python
Python Websocket服务端通信的使用示例
Feb 25 Python
基于Python计算圆周率pi代码实例
Mar 25 Python
Python如何在main中调用函数内的函数方式
Jun 01 Python
详解python metaclass(元类)
Aug 13 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打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
php递归调用删除数组空值元素的方法
2015/04/28 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
完美解决JS中汉字显示乱码问题(已解决)
2006/12/27 Javascript
JS backgroundImage控制
2009/05/19 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
javascript判断非数字的简单例子
2013/07/18 Javascript
javascript实现简单的贪吃蛇游戏
2015/03/31 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
JavaScript文本框脚本编写的注意事项
2016/01/25 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
vue自定义switch开关组件,实现样式可自行更改
2019/11/01 Javascript
基于Vue+Webpack拆分路由文件实现管理
2020/11/16 Javascript
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
Django中使用locals()函数的技巧
2015/07/16 Python
用Python的Django框架来制作一个RSS阅读器
2015/07/22 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
python中subprocess批量执行linux命令
2018/04/27 Python
python线程中的同步问题及解决方法
2019/08/29 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
摄影实习自我鉴定
2013/09/20 职场文书
精彩的推荐信范文
2013/11/26 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
财产公证书
2014/04/10 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
中学生关于梦想的演讲稿
2014/08/22 职场文书
科学发展观活动总结
2014/08/28 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书
2014年高一班主任工作总结
2014/12/05 职场文书
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP
戴尔Win11系统no bootable devices found解决教程
2022/09/23 数码科技