利用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 相关文章推荐
在Django的模板中使用认证数据的方法
Jul 23 Python
简单学习Python time模块
Apr 29 Python
Python数据结构之哈夫曼树定义与使用方法示例
Apr 22 Python
python利用Tesseract识别验证码的方法示例
Jan 21 Python
Python 编程速成(推荐)
Apr 15 Python
python3 反射的四种基本方法解析
Aug 26 Python
TensorFlow加载模型时出错的解决方式
Feb 06 Python
使用tensorflow实现矩阵分解方式
Feb 07 Python
pycharm如何实现跨目录调用文件
Feb 28 Python
200行python代码实现贪吃蛇游戏
Apr 24 Python
Python中异常处理用法
Nov 27 Python
Pandas搭配lambda组合使用详解
Jan 22 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 ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
PHP中localeconv()函数的用法
2019/03/26 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
JavaScript实现拼音排序的方法
2012/11/20 Javascript
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
你必须知道的Javascript知识点之"this指针"的应用
2013/04/23 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
js日期相关函数总结分享
2013/10/15 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
jQuery实现简单的手风琴效果
2020/04/17 jQuery
VUE脚手架的下载和配置步骤详解
2019/04/01 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
简单讲解Python编程中namedtuple类的用法
2016/06/21 Python
python 3.0 模拟用户登录功能并实现三次错误锁定
2017/11/01 Python
一篇文章了解Python中常见的序列化操作
2019/06/20 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
Richards网上商店:当代时尚,遍布巴西
2019/11/03 全球购物
学生宿舍管理制度
2014/01/30 职场文书
捐款倡议书格式范文
2014/05/14 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
买卖合同协议书范本
2014/10/18 职场文书
生日答谢词
2015/01/05 职场文书
市场部岗位职责范本
2015/04/15 职场文书
导游词之南京中山陵
2019/11/27 职场文书
判断Python中的Nonetype类型
2021/05/25 Python
如何用python清洗文件中的数据
2021/06/18 Python
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL