Pyechart入门

标题中的英文首字母大写比较规范,但在python实际使用中均为小写。

2018年8月1日笔记

0.简介

pyecharts是一个用于生成echarts图表的类库。echarts是百度开源的一个数据可视化库,用echarts生成的图可视化效果非常棒。使用pyechart库可以在python中生成echarts数据图。
官网:http://pyecharts.org
Github:https://github.com/pyecharts/pyecharts/
在官网中可以获得比本文更详细的pyecharts库的使用方法。
下面代码的开发环境为jupyter notebook,使用在jupyter notebook中的截图表示运行结果。

1.安装库

打开cmd,在cmd中使用pip命令安装pyecharts库,如下所示:

pip install pyecharts -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

其中-i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com是使用阿里云作为下载源,可以极大加快下载速度。
如果安装失败,请在cmd中运行命令:pip install pytest-runner 。然后再次使用pip安装pyecharts库。

2.柱形图

第1行代码引入库,第2行代码初始化1个Bar对象赋值给bar变量。
第3-7行代码准备Bar对象的add方法的3个关键字参数,第1个关键字参数name是图例的名称,第2个关键字参数x_axis是x轴的标记,第3个关键字参数y_axis是每个柱形的高度。
将3个关键字参数打包成1个数据类型为字典的变量kwargs。
kwargs作为参数传入Bar对象的add方法中时,需要使用**kwargs,这样可以使其自动解包,字典中的键值对会对应函数需要的参数。
最后1行,Bar对象的render方法会产生一个html文件,可以用浏览器打开该文件进行查看。

from pyecharts import Bar 
bar = Bar('我的第一个图表','这里是副标题')
kwargs = dict(
    name = '柱形图',
    x_axis = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子'],
    y_axis = [5,20,36,10,75,90]
)
bar.add(**kwargs)
bar.render('bar01.html')

文件夹中生成的bar01.html文件如下图所示:

image.png

在浏览器中查看bar01.html文件如下图所示:
image.png

3.直方图

在pyecharts中,直方图也是使用Bar对象画出。
与柱形图的不同之处是实例化Bar对象时多了1个参数bar_category_gap,含义是每个柱子之间的间隔,如果设置为0,则画直方图。

bar = Bar('我的第一个图表','这里是副标题')
kwargs = dict(
    name = '柱形图',
    x_axis = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子'],
    y_axis = [5,20,36,10,75,90],
    bar_category_gap = 0
)
bar.add(**kwargs)
bar
直方图.png

4.堆叠柱状图

import pyecharts as pye 
x = ["衬衫", "羊毛衫", "雪纺衫","裤子", "高跟鞋", "袜子"]
y1 =[5, 20, 36, 10, 75, 90]
y2 = [10, 25, 8, 60, 20, 80]
bar = pye.Bar("柱状图数据堆叠示例")
title1 = '商家A'
title2 = '商家B'
bar.add(title1,x,y1,is_stack=True)
bar.add(title2,x,y2,is_stack=True)
bar.render('bar02.html')

上面一段代码的运行结果如下图所示:


image.png

5.标记线和标记点示例

import pyecharts as pye 
x = ["衬衫", "羊毛衫", "雪纺衫","裤子", "高跟鞋", "袜子"]
y1 =[5, 20, 36, 10, 75, 90]
y2 = [10, 25, 8, 60, 20, 80]
bar = pye.Bar("标记线和标记点示例")
title1 = '商家A'
title2 = '商家B'
bar.add(title1,x,y1,mark_point=['average'])
bar.add(title2,x,y2,mark_line=['min','max'])
bar.render('bar04.html')
bar

上面一段代码的运行结果如下图所示:


image.png

6.条形图

import pyecharts as pye 
x = ["衬衫", "羊毛衫", "雪纺衫","裤子", "高跟鞋", "袜子"]
y1 =[5, 20, 36, 10, 75, 90]
y2 = [10, 25, 8, 60, 20, 80]
bar = pye.Bar("x轴与y轴交换")
title1 = '商家A'
title2 = '商家B'
bar.add(title1,x,y1)
bar.add(title2,x,y2,is_convert=True)
bar.render('bar03.html')
bar

上面一段代码的运行结果如下图所示:


image.png

7. 折线图

from pyecharts import Line
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 10, 100]
v2 = [55, 60, 16, 20, 15, 80]
line = Line("折线图示例")
line.add("商家A", attr, v1, mark_point=["average"])
line.add("商家B", attr, v2, is_smooth=True,
mark_line=["max", "average"])
line.render('line01.html')
line

上面一段代码的运行结果如下图所示:


image.png

8.折线图2

import pyecharts as pye

x = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
y1 = [5, 20, 36, 10, 10, 100]
y2 = [55, 60, 16, 20, 15, 80]
line = pye.Line("折线图示例")
label1 = '商家A'
label2 = '商家B'
kwargs = dict(
    mark_point=['average','max','min'],
    mark_point_symbol = 'diamond',
    mark_point_textcolor = '#40ff27'
)
line.add(label1,x,y1,**kwargs)
kwargs2 = dict(
    mark_point=['average','max','min'],
    mark_point_symbol = 'arrow',
    mark_point_symbolsize = 40
)
line.add(label2,x,y2,**kwargs2)
line

上面一段代码的运行结果如下图所示:


image.png

9.面积图

import pyecharts as pye

x = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
y1 = [5, 20, 36, 10, 10, 100]
y2 = [55, 60, 16, 20, 15, 80]
line = pye.Line("面积图示例")
label1 = '商家A'
label2 = '商家B'
kwargs = dict(
    if_fill = True,
    line_opacity = 0.2,
    area_opacity = 0.4,
    symbol = None
)
line.add(label1,x,y1,**kwargs)
kwargs2 = dict(
    s_fill= True,
    area_color= '#000',
    area_opacity= 0.3, 
    is_smooth= True
)
line.add(label2,x,y2,**kwargs2)
line

上面一段代码的运行结果如下图所示:


image.png

10.饼图

import pyecharts as pye

x = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
y =  [11, 12, 13, 10, 10, 10]
pie = pye.Pie("饼图示例")
pie.add("",x,y,is_label_show=True)
pie

上面一段代码的运行结果如下图所示:


image.png

11.饼图2

import pyecharts as pye

x = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
y =  [11, 12, 13, 10, 10, 10]
pie = pye.Pie("饼图-圆环图示例",title_pos='center')
kwargs = dict(
    radius = (40,75),
    label_text_color = None,
    is_label_show = True,
    legend_orient = 'vertical',
    legend_pos = 'left'
)
pie.add("",x,y,**kwargs)
pie

上面一段代码的运行结果如下图所示:


image.png

12.散点图

from pyecharts import Scatter
v1 = [10, 20, 30, 40, 50, 60]
v2 = [10, 20, 30, 40, 50, 60]
scatter = Scatter("散点图示例")
scatter.add("A", v1, v2)
scatter.add("B", v1[::-1], v2)
scatter

上面一段代码的运行结果如下图所示:


image.png

13.散点图2

from pyecharts import Scatter
v1 = [10, 20, 30, 40, 50, 60]
v2 = [10, 20, 30, 40, 50, 60]
scatter = Scatter("散点图示例")
scatter.add("A", v1, v2)
scatter.add("B", v1[::-1], v2, is_visualmap=True,
visual_type='size', visual_range_size=[20,
80])
scatter

上面一段代码的运行结果如下图所示:


image.png

14.地图1

from pyecharts import Map
value = [155, 10, 66, 78]
attr = ["福建", "山东", "北京", "上海"]
map = Map("全国地图示例")
map.add("", attr, value, maptype='china')
map

上面一段代码的运行结果如下图所示:


image.png

15.地图2

from pyecharts import Map
value = [20, 190, 253, 77, 65]
attr = ['汕头市', '汕尾市', '揭阳市', '阳江市', '肇庆市']
map = Map("广东地图示例", width=1200,
height=600)
map.add("", attr, value, maptype='广东',
is_visualmap=True,
visual_text_color='#000',is_label_show=True)
map

上面一段代码的运行结果如下图所示:


image.png

16.词云

from pyecharts import WordCloud
name_list = ['Sam S Club', 'Macys', 'Amy Schumer', 'Jurassic World',
            'Charter Communications','Chick Fil A', 'Planet Fitness',
            'Pitch Perfect', 'Express','Home', 'Johnny Depp',
            'Lena Dunham', 'Lewis Hamilton', 'KXAN', 'Mary EllenMark',
            'Farrah Abraham','Rita Ora', 'Serena Williams',
            'NCAA baseball tournament','Point Break']
value_list = [10000, 6181, 4386, 4055, 2467, 2244,
            1898, 1484, 1112,965, 847, 582, 555,
            550, 462, 366, 360, 282, 273, 265]
wordcloud = WordCloud(width=800, height=500)
wordcloud.add("", name, value, word_size_range=[20, 100])
wordcloud

上面一段代码的运行结果如下图所示:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,183评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,576评论 25 709
  • It's Thursday. Pa was putting on his boots. He put his fo...
    Mr_Oldman阅读 1,310评论 0 0
  • 在生活中,没有谁离不开谁。 当一切必须离开和剥离,一定会恐惧和不安,会无助和患得患失,但一切终究都会过去。 当一切...
    安然2011阅读 1,778评论 0 0
  • 谈到加班这个事,估计走入职场中的每个人都会面临这样一个很常见的问题,今天咱们来聊一聊。 什么样的情况下公司会要求员...
    筱晨沐雨阅读 3,532评论 4 0

友情链接更多精彩内容