利用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 10 Python
pygame游戏之旅 如何制作游戏障碍
Nov 20 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
Apr 23 Python
对Python强大的可变参数传递机制详解
Jun 13 Python
浅谈Pandas Series 和 Numpy array中的相同点
Jun 28 Python
Django shell调试models输出的SQL语句方法
Aug 29 Python
Python函数的默认参数设计示例详解
Dec 01 Python
python读取hdfs上的parquet文件方式
Jun 06 Python
python 抓取知乎指定回答下视频的方法
Jul 09 Python
python使用yaml 管理selenium元素的示例
Dec 01 Python
python 如何将两个实数矩阵合并为一个复数矩阵
May 19 Python
PyTorch 如何检查模型梯度是否可导
Jun 05 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 组件化编程技巧
2009/06/06 PHP
php 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
php图片添加文字水印实现代码
2016/03/15 PHP
Open and Print a Word Document
2007/06/15 Javascript
有道JavaScript监听浏览器的问题
2010/06/23 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
javascript实现简单的进度条
2015/07/02 Javascript
JavaScript中this详解
2015/09/01 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
2016/01/04 Javascript
深入剖析JavaScript中的函数currying柯里化
2016/04/29 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
Vue 实时监听窗口变化 windowresize的两种方法
2018/11/06 Javascript
Node.JS获取GET,POST数据之queryString模块使用方法详解
2020/02/06 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
Django admin 实现search_fields精确查询实例
2020/03/30 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
采购员岗位职责
2013/11/15 职场文书
服装厂厂长岗位职责
2013/12/27 职场文书
特色蛋糕店创业计划书
2014/01/28 职场文书
语文教学随笔感言
2014/02/18 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
借条如何写
2015/05/26 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
python turtle绘制多边形和跳跃和改变速度特效
2022/03/16 Python