Python让你的数据生成可视化图形(生成对应的html或者是图片)

版权声明:转载请注明:http://blog.csdn.net/update7?viewmode=contents https://blog.csdn.net/update7/article/details/89086454

要生成图片的代码请移步-》github

简介

Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。

 特性

  • 简洁的 API 设计,使用如丝滑般流畅,支持链式调用
  • 囊括了 30+ 种常见图表,应有尽有
  • 支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab
  • 可轻松集成至 Flask,Django 等主流 Web 框架
  • 高度灵活的配置项,可轻松搭配出精美的图表
  • 详细的文档和示例,帮助开发者更快的上手项目
  • 多达 400+ 地图,为地理数据可视化提供强有力的支持

安装

pip install pyecharts

柱形图

柱形图简明、醒目,是一种常用的统计图形。以下生成的图都可以点击 html 文件打开,点击图形右边下载按钮可以下载到本地。

#coding:utf-8
from pyecharts import Bar
 
bar = Bar("成绩柱形图", "副标题")
# 用于添加图表的数据和设置各种配置项
# is_more_utils=True可以按右边的下载按钮将图片下载到本地
 
bar.add("成绩表", ["语文", "数学", "英语", "物理", "化学", "生物"], [88, 90, 92, 87, 83, 81], is_more_utils=True)
bar.show_config()    # 打印输出图表的所有配置项
bar.render('E:\\pye\\bar.html')         # 在指定目录下生成一个 bar.html 的文件

饼图

饼图英文学名为 Sector Graph, 又名 Pie Graph,常用于统计学模块。

#coding:utf-8
from pyecharts import Pie
 
 
attr = ["语文", "数学", "英语", "物理", "化学", "生物"]
score = [20, 30, 40, 25, 10, 15]
pie = Pie('图书销量饼图')
pie.add('', attr, score, is_label_show=True)
pie.render('E:\\pye\\pie.html')

圆环图

仅排列在工作表的列或行中的数据可以绘制到圆环图中。

from pyecharts import Pie


attr = ["语文", "数学", "英语", "物理", "化学", "生物"]
score = [20, 30, 40, 25, 10, 15]
pie = Pie('图书销量圆环图', title_pos='center')
pie.add('', attr, score, radius=[40, 75], label_text_color=None, is_label_show=True,
        legend_orient='vertical', legend_pos='left')
pie.render('e:\pye\pieround.html')   # 在指定目录下生成文件

3D散点图

散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,散点图表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。

#coding:utf-8
from pyecharts import Scatter3D
from pyecharts import Page
import random
 
 
page = Page()
data = [[random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80)]
range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
               '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
scatter3D = Scatter3D("3D 散点图示例", width=1200, height=600)
scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
page.add(scatter3D)
page.render('E:\\pye\\scatter.html')    # 在指定目录下生成文件

3D折线图

折线图是排列在工作表的列或行中的数据可以绘制到折线图中。折线图可以显示随时间(根据常用比例设置)而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势。

#coding:utf-8
import sys
from pyecharts import Line3D
 
data = [[1, 2, 3, 4], [1, 2, 3, 4], [0, 4, 8, 16]]
Line3D = Line3D("3D 折线图示例", width=1200, height=600)
Line3D.add("", data, is_visualmap=True)
Line3D.render('E:\\pye\\line3d.html')    # 在指定目录下生成文件

仪表盘

仪表盘图的效果如下图所示,图中指针指向的位置是当前的数值。

#coding:utf-8
from pyecharts import Gauge
 
gauge = Gauge('项目完成进度')
gauge.add('进度表', '完成率', 88.88)
gauge.render('E:\\pye\\gauge.html')    # 在指定目录下生成文件

漏斗图

漏斗图这种方法起源于作业管理领域。
#coding:utf-8
from pyecharts import Funnel
 
attr = ['认知', '了解', '认可', '考虑', '意向', '购买']
value = [120, 100, 80, 60, 40, 20]
funnel = Funnel('客户购买分析图')
funnel.add('买车', attr, value, is_label_show=True, label_pos='inside', label_text_color='#fff')
funnel.render('E:\\pye\\funel.html')    # 在指定目录下生成文件

 

地图

以下数据是模拟的数据,为了画图展示用的,没有参考价值。

特别注明,中国地图在echarts-countries-pypkg里。需要这些地图的朋友,可以装pip命令行:
$ pip install echarts-countries-pypkg
$ pip install echarts-china-provinces-pypkg
$ pip install echarts-china-cities-pypkg
$ pip install echarts-china-counties-pypkg
$ pip install echarts-china-misc-pypk
# -*- coding:utf-8 -*-
#import sys
#reload(sys)
#sys.setdefaultencoding('utf8')
from pyecharts import Geo
 
data = [
    (u"上海", 25), (u"北京", 36), (u"武汉", 23), (u"舟山", 12), (u"齐齐哈尔", 14), (u"盐城", 15),
    (u"赤峰", 16), (u"青岛", 18), (u"乳山", 18), (u"金昌", 19), (u"泉州", 21), (u"莱西", 21),
    (u"日照", 21), (u"胶南", 22), (u"南通", 23), (u"拉萨", 24), (u"云浮", 24), (u"梅州", 25)]
geo = Geo('主要城市空气质量', 'PM2.5', title_color='#fff', title_pos='center',
          width=1200, height=600, background_color='#404a59')
attr, value = geo.cast(data)
geo.add('', attr, value, visual_range=[0, 200], visual_text_color='#fff', symbol_size=15,
        is_visualmap=True, is_piecewise=True, visual_split_number=6)
geo.render('E:\\pye\\geo.html')    # 在指定目录下生成文件

 

词云图

还记得上次我们用 wordcloud 库画的微信朋友签名词云和摇滚歌手歌词的词云图吧,用 pyecharts 库也可以画出来。我们以 IEEE Spectrum 发布的 2018 年度顶级编程语言排行榜作为数据来制作词云图。

#coding:utf-8
from pyecharts import WordCloud
 
language = ['Python', 'C++', 'C', 'Java', 'C#', 'PHP', 'R', 'JavaScript', 'Go', 'Assembly']
rank = [100, 98.4, 98.2, 97.5, 89.8, 85.4, 83.3, 82.8, 76.7, 74.5]
wordcloud = WordCloud(width=1500, height=700)
wordcloud.add('', language, rank, word_size_range=[20, 100])
wordcloud.render('E:\\pye\\wc.html')    # 在指定目录下生成文件

 

水球图

水球图是一种适合于展现单个百分比数据的图表类型。

#coding:utf-8
from pyecharts import Liquid
 
liquid = Liquid("水球图")
liquid.add("Liquid", [0.8])
liquid.show_config()
liquid.render('E:\\pye\\sq.html')    # 在指定目录下生成文件

 

还有其他图就不一一列举了,有兴趣的请移步 http://pyecharts.org

猜你喜欢

转载自blog.csdn.net/update7/article/details/89086454