python数据可视化之pyecharts
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "last"
-
pyecharts 库的基本使用用法
- ECharts是由百度团队开发的,可高度个性化定制的数据可视化图表库。
- pyecharts 是一个用于生成 Echarts 图表的类库。实际上就是 Echarts 与 Python 的对接。
- 使用 pyecharts 可以生成独立的网页,也可以在 flask , Django 中集成使用。
- pyecharts包含的图表
- Bar(柱状图/条形图)
- Bar3D(3D 柱状图)
- Boxplot(箱形图)
- EffectScatter(带有涟漪特效动画的散点图)
- Funnel(漏斗图)
- Gauge(仪表盘)
- Geo(地理坐标系) ...
由于 pyecharts 并没有内置在 Anaconda 中,因此需要额外通过 pip 来安装 pyecharts:
pip install pyecharts==0.5.11
pip install pyecharts_snapshot
-
安装和切换主题
echarts-themes-pypkg 提供了 vintage, macarons, infographic, shine 和 roma 主题
安装主题插件:pip install echarts-themes-pypkg 切换主题:bar.use_theme("主题名称")
通过具体图类自定义主题只是暂时的设置,如果想更换运行环境内所有图表主题,可做如下操作实现
from pyecharts import configure configure(global_theme='dark')
-
常用图表
-
1、折线图
from pyecharts import Line line = Line("我的第一个图表", "这里是副标题") line.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90])
结果为:

from pyecharts import Line attr = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子'] v1 = [5,20,36,10,75,90] v2 = [10,25,8,60,20,80] line = Line('折线面积示例图') line.add('商家A', attr, v1, line_opacity = 0.2, #线条不透明度 area_opacity = 0.4, #填充不透明度 symbol = None) line.add('商家B', attr, v2, line_color = '#000', #黑色 area_opacity = 0.3, #填充不透明度 is_smooth = True) line
结果为:

-
2、柱状图
#导入类库 from pyecharts import Bar attr = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子'] v1 = [5,20,36,10,75,90] v2 = [10,25,8,60,20,80] #创建对象 bar = Bar("柱状图数据堆叠示例","副标题") #average表示显示平均值,如果想要提供更多实用工具按钮,请在 add() 中设置 is_more_utils=True bar.add("商家A", attr, v1, mark_point=["average"], is_stack=False, is_more_utils=True) #min,max表示标注最大值与最小值点 bar.add("商家B",attr,v2,mark_line=["min","max"]) # #生成html文件 # bar.render("bar.html") bar
结果为:

-
3、仪表盘
#导入类库 from pyecharts import Gauge #创建对象 gauge = Gauge('仪表盘示例',"我是副标题") #第三个参数表示比例 gauge.add("业务指标", "完成率", 66.66, is_more_utils=True) # #生成html文件 # gauge.render("gauge.html") gauge
结果为:

-
4、动态散点图
# 导入类库 from pyecharts import EffectScatter #横坐标 v1 = [10,20,30,40,50,60] #纵坐标 v2 = [25,20,15,10,60,33] #创建对象 es = EffectScatter("动态散点图示例","我是副标题") es.add("effectScatter", v1, v2, is_more_utils=True) # #生成html文件 # es.render("effectScatter.html") es
结果为:

-
5、词云
#导入类库 from pyecharts import WordCloud #要显示的每个词 name = ['网络','数据分析',"python",'Hadoop','flask'] #每个词出现的次数 value = [10000,6000,20000,4000,3000] #创建对象 wd = WordCloud(width=1300, height=620) #size_range:字体大小范围 wd.add("", name, value, word_size_range=(30,100), is_more_utils=True) # 生成html文件 # wd.render('wordcloud.html') wd
结果为:

-
6、饼图
# 导入类库 from pyecharts import Pie #要显示的内容 attr = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子'] #出现比例或次数 v1 = [11,12,13,10,10,10] #创建对象 pie = Pie("饼图示例") pie.add("", attr, v1, is_label_show=True, is_more_utils=True) # 生成html文件 # pie.render('pie.html') pie
结果为:

-
7、地图
需要安装下列地图数据包
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-pypkg pip install echarts-united-kingdom-pypkg
from pyecharts import Map # 城市对应数据 value = [22859,244221] # 城市名称必须要加上'市',否则无效 attr = ['广州市','深圳市'] #创建对象 maps = Map("Map结合VisualMap示例",width=1200,height=600) maps.add("客户", attr, value, maptype='广东', is_visualmap=True, visual_text_color='#007', is_more_utils=True) # 生成html文件 # maps.render('map.html') maps
结果为:


浙公网安备 33010602011771号