利用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抓取行政区划码的方法
Nov 28 Python
python Pygame的具体使用讲解
Nov 03 Python
Python中将dataframe转换为字典的实例
Apr 13 Python
Python3 中把txt数据文件读入到矩阵中的方法
Apr 27 Python
对python中的xlsxwriter库简单分析
May 04 Python
python3结合openpyxl库实现excel操作的实例代码
Sep 11 Python
在Python中定义一个常量的方法
Nov 10 Python
Window环境下Scrapy开发环境搭建
Nov 18 Python
Python 读取用户指令和格式化打印实现解析
Sep 02 Python
Python本地及虚拟解释器配置过程解析
Oct 13 Python
利用python 下载bilibili视频
Nov 13 Python
python 检测nginx服务邮件报警的脚本
Dec 31 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实现下载断点续传的方法
2014/11/12 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
php猴子选大王问题解决方法
2015/05/12 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
jquery 简单图片导航插件jquery.imgNav.js
2010/03/17 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
禁用页面部分JavaScript不是全部而是部分
2014/09/03 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
JavaScript数组排序reverse()和sort()方法详解
2017/12/24 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
2018/05/27 Javascript
Angular6封装http请求的步骤详解
2018/08/13 Javascript
详解多页应用 Webpack4 配置优化与踩坑记录
2018/10/16 Javascript
webstorm中配置Eslint的两种方式及差异比较详解
2018/10/19 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
jQuery实现飞机大战小游戏
2020/07/05 jQuery
Javascript call及apply应用场景及实例
2020/08/26 Javascript
python实现类的静态变量用法实例
2015/05/08 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
Python实现FTP弱口令扫描器的方法示例
2019/01/31 Python
Cython编译python为so 代码加密示例
2019/12/23 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
使用pycharm和pylint检查python代码规范操作
2020/06/09 Python
使用Python实现微信拍一拍功能的思路代码
2020/07/09 Python
html5模拟平抛运动(模拟小球平抛运动过程)
2013/07/25 HTML / CSS
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
教师考核评语
2014/04/28 职场文书
家长建议怎么写
2014/05/15 职场文书
党员领导干部承诺书
2014/05/28 职场文书
运动会加油口号
2014/06/07 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
毕业证明书
2015/06/19 职场文书
员工聘用合同范本
2015/09/21 职场文书
python实现自动化群控的步骤
2021/04/11 Python
使用Nginx搭载rtmp直播服务器的方法
2021/10/16 Servers