Pyecharts绘图API总结

一、初识Pyecharts

pyecharts简介

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

Pyecharts官网

https://pyecharts.org/#/zh-cn/intro

pyecharts安装

pip install pyecharts

二、Pyecharts可视化

使用pyecharts可以绘制如下图表:

Scatter

散点图

Funnel

漏斗图

Bar

柱状图

Gauge

仪表盘

Pie

饼图

Graph

关系图

Line

折线/面积图

Liquid

水球图

Radar

雷达图

Parallel

平行坐标系

Sankey

桑基图

Polar

极坐标系

WordCloud

词云图

HeatMap

热力图

这里我们简介一下常用的图表的API:

2.0、初始化设置

导入相关库:

from pyecharts.charts import *
import pyecharts.options as opts
  • from pyecharts.charts import *: 可以使用所有的图表对应的函数;
  • 使用 options 配置项,在 pyecharts 中,一切皆 Options,进行参数设置;

总体说明一下:

  1. .render_notebook ()随时随地渲染图表;
  2. .render() 这个不会直接产生图表,而是形成一个render.html的文件,可在浏览器中打开查看图表;

2.1、scatter()

这里我们绘制一个正余弦的散点图

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
y2 = np.cos(x)


# 参数设置
(Scatter() # 图形种类
 .add_xaxis(xaxis_data=x) # 设置x轴序列
 .add_yaxis(series_name='sin', y_axis=y) # 设置y轴序列
 .add_yaxis(series_name='cos', y_axis=y2, label_opts=opts.LabelOpts(is_show=False)) # is_show = False:表示不显示数值部分
).render_notebook()

结果如下:

2.2、line()

from pyecharts.charts import Line
import pyecharts.options as opts


x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)


(
    Line()
    .add_xaxis(xaxis_data=x)
    .add_yaxis(series_name='sin', y_axis=y, label_opts=opts.LabelOpts(is_show=False))
    .add_yaxis(series_name='cos', y_axis=np.cos(x), label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title='曲线'),
                     tooltip_opts=opts.TooltipOpts(axis_pointer_type='cross')
                    )
).render_notebook()

结果如下所示:

2.3、Bar()

柱状图的绘制:

from pyecharts.charts import Bar


bar = (
    Bar()
    .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
    .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
)
bar.render_notebook()

结果如下:

当然,这里只是最基本的柱图使用;我们还可以绘制混合柱图;

from pyecharts.charts import Bar
import pyecharts.options as opts


num = [110, 136, 108, 48, 111, 112, 103]
num2 = [90, 110, 101, 70, 90, 120, 99]
lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']


(
    Bar(init_opts=opts.InitOpts(width='720px', height='320px'))
    .add_xaxis(xaxis_data=lab)
    .add_yaxis(series_name='商家A', yaxis_data=num)
    .add_yaxis(series_name='商家B', yaxis_data=num2)
    .set_global_opts(
        title_opts=opts.TitleOpts(title='各商家拥有犬类数量情况', subtitle='如有雷同,纯属意外')
    )
).render_notebook()

结果如下所示:

2.4、Pie()

普通饼图:

from pyecharts.charts import Pie
import pyecharts.options as opts


num = [110, 136, 108, 48, 111, 112, 103]
lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']


(
    Pie(init_opts=opts.InitOpts(width='720px', height='320px'))
    .add(series_name='', 
         data_pair=[(j, i) for i, j in zip(num, lab)]
        )
).render_notebook()

结果如下:

环状饼图:

from pyecharts.charts import Pie
import pyecharts.options as opts


num = [110, 136, 108, 48, 111, 112, 103]
lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']


(
    Pie(init_opts=opts.InitOpts(width='720px', height='320px'))
    .add(series_name='', 
         radius=['40%', '75%'],
         data_pair=[(j, i) for i, j in zip(num, lab)]
        )
).render_notebook()

如图所示:

玫瑰饼图:

from pyecharts.charts import Pie
import pyecharts.options as opts


num = [110, 136, 108, 48, 111, 112, 103]
lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']


(
    Pie(init_opts=opts.InitOpts(width='720px', height='320px'))
    .add(series_name='', 
#          radius=['40%', '75%'],
#          center=['25%', '50%'],
         rosetype='radius',
         data_pair=[(j, i) for i, j in zip(num, lab)]
        )
).render_notebook()

如图所示:

2.5、图表的组合使用

from pyecharts.charts import Bar, Line


num = [110, 136, 108, 48, 111, 112, 103]
lab = ['哈士奇', '萨摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']


bar = (
    Bar(init_opts=opts.InitOpts(width='720px', height='320px'))
    .add_xaxis(xaxis_data=lab)
    .add_yaxis(series_name='', yaxis_data=num)
)


lines = (
    Line()
    .add_xaxis(xaxis_data=lab)
    .add_yaxis(series_name='', y_axis=num, label_opts=opts.LabelOpts(is_show=False))
)


bar.overlap(lines).render_notebook()

如图所示:

三、总结

Pyecharts可以绘制各种各样的图表,主流的一个数据可视化的库,因为相对于matplotlib,seaborn等数据可视化库,它的交互性比较好,图形绘制的比较清晰美观,所以应用的比较广泛,本文主要就普通常用图形做了简单的总结,当然它还可以绘制地理图形,具体参见官网相关API。

关于水晶易表的简介及水晶易表安装初识

这几天看到了一个高大上的东东,它的名字叫水晶易表,名字超好听,它其实大有来头。

水晶易表是全球领先的商务智能软件商SAP Business Objects的最新产品,通常我们只需要简单的进行点击和拖拽操作,Crystal Xcelsius就可以令您静态的Excel电子表格充满生动的数据展示、动态表格、图像和可交互的可视化分析。

哇!看到这里,小编一下子就被吸粉了。以前我们总是看到旋转的仪表盘,动态的数据线等,而且还可以进行交互,但是不知道怎么实现,但是现在已经有答案了,可以通过水晶易表来实现。水晶易表确实高大上,但是其安装过程却是让人抓狂,在此小编分享一下自己的经验给大家,希望日后用到水晶易表的伙伴们少走弯路。

水晶易表目前适用于主流的Windows操作系统,其安装的时候需要依赖Excel和Adobe Flash Player,因为里边的动画仅支持Adobe Flash Player,所以必须要安装Adobe Flash Player。水晶易表兼容的Excel版本为Excel2003/2007和2010,对Adobe Flash Player的版本要求在10.0及其以上。所以除了必备的水晶易表安装包之外,还必须要提前在本机上安装好Excel和Adobe Flash Player。目前水晶易表的安装包很难找到到,小编历经千辛万苦才找到了一个2008版本的水晶易表,但是亲测是好用的,如果有需要的小伙伴可以通过站内联系我。

Excel大家通常都有,而且都安装在本机,十分稳定,但是Adobe Flash Player不一定每个人都可以顺利的安装上,首先要确保自己的电脑上没有Adobe Flash Player的安装包残留。

彻底卸载Adobe Flash Player的方法:

1、使用本机中的控制面板先删除之前的Adobe Flash Player;

2、再使用360安全卫士软件中再次全盘清除残余的文件;

3、在cmd进入命令行,输入regedit,在注册表中找到HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\SafeVersions,SafeVersions里面存在的是Flash player的版本信息,删除掉已安装的版本信息;

4、把C:\WINDOWS\system32\Macromed整个文件夹删除。

至此,本机上残留的Adobe Flash Player的安装包已经彻底删除,关于Adobe Flash Player的安装和删除可以参考这篇文章:在Windows上如何安装和彻底卸载Adobe Flash Player教程。

之后,进入Adobe Flash Player官方网站,如下图所示:

关于水晶易表的简介及水晶易表安装初识

Adobe Flash Player官方网站

之后点击立即安装即可,注意要关闭自己所有的浏览器,不然安装程序会停滞的。

尔后Adobe Flash Player边可以顺利安装上了,出现finished字样表示Adobe Flash Player安装成功。

找到水晶易表安装包,右键以管理员身份运行,建议自定义安装,之后安装程序会检验系统环境和Adobe Flash Player的版本,一般会顺利通过检查,之后便可以在桌面上看到水晶易表的logo啦!

下面这张图是小编利用水晶易表做的2012年中国各地区居民消费价格指数模型,在水晶易表中可以进行互动的,只要点击不同的省位,便可以查看其每个月份的消费价格,在仪表盘中可以查看最高值和最低值~~有没有觉得很高大上呢?

关于水晶易表的简介及水晶易表安装初识

2012年中国各地区居民消费价格指数模型

水晶易表可以令您静态的Excel表格充满生动的数据展示、动态表格、图像和可交互的可视化分析,而且分析结果就可以轻松的嵌入到PowerPoint、PDF 文档、Outlook和网页上了,在工作汇报的时候拿出来肯定让老板大吃一鲸。

——————- End ——————-

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

有趣的数据可视化

这几天我在阅读《谁说菜鸟不会数据分析(工具篇)》一书,发现里边有很多知识是我自己想要学习的内容,现分享部分可视化的学习内容给大家。这是我第一次在简书上写文章,这篇文章也是我第一次在简书上写的,希望大家喜欢。

我们通常看到的或者在公司企业经常性用到的图表有饼图、条形图、柱形图、折线图、散点图、表格等,工作中我们要秉持一种原则,能够使用图来展示的坚决不用表格,能够用表格展示的绝对不用文字,也就是说优先级顺序为:图>表格>文字。下面我们先来看看两个有趣的可视化成果吧!

 

一、地图

很多时候我们看到地图展示在我们面前,我们就会耳目一新,顿然之间感觉高大上,直接甩图。

有趣的数据可视化
美国总统大选可视化

上图展示的是2012年美国总统大选可视化的图片,红色代表支持罗姆尼,蓝色代表支持奥巴马,一目了然。

 

二、标签云(词云)

标签云是一种关键词的视觉化方式,其中字体的大小表示该关键词出现的频率或者次数,出现的频次越高,那么字体就越大,反之就越小。话不多说,直接甩图。

有趣的数据可视化
民谣歌手歌词的词云展示

上图是上个月我通过网络爬虫分析15万民谣歌手歌词所得的词云可视化图,可以清楚的看到民谣歌词中出现频率比较高的意象是世界、生活、姑娘、青春、时间等。下篇文章我将展示歌词网络爬虫,在此就不多赘述了。

上面的可视化图形都是通过Python实现的,希望大家喜欢。

——————- End ——————-

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他