个性化图表
- 2019 年 12 月 30 日
- 筆記
个性化绘制图表
#coding=utf-8 from __future__ import unicode_literals #首先来我的绘制第一个图表 from pyecharts import Bar bar = Bar("我的第一个图表","这里是一个副标题") bar.add("服装",["A","B","C","D","E","F"],[15,18,35,66,6,88]) #bar.print_echarts_options() # 该行只为了打印配置项,方便调试时使用 bar.render() #生成本地 HTML 文件 bar

·add()
主要方法,用于添加图表的数据和设置各种配置项
·print_echarts_options()
打印输出图表的所有配置项
·render()
默认将会在根目录下生成一个render.html的文件,
支持path参数,设置文件保存位置。
例如:render(r"e:my_first_chart.html"),文件用浏览器打开
·Note:
可以按右边的下载按钮将图片下载到本地,如果想要提供更多实用工具按钮,请在add()中设置is_more_utils 为True。
#案例如下 from pyecharts import Bar bar = Bar("我的第一个图表","这里是副标题") bar.add("数据分析",["Q","W","E","R"],[6,12,6,18],is_more_utils=True) bar.render() bar

使用主题
自0.5.2+ 起,pyecharts 支持更换主题色系。
下面是更换为'dark' 的例子
#案例如下 from pyecharts import Bar bar = Bar("这是我的第一个主题图表","这是一个副标题 dark主题") bar.use_theme('dark') bar.add("年少风",["脚程","奇趣","我們"],[66,88,99],is_more_utils=True) bar.render() bar

图形绘制过程
步骤 描述 代码示例 备注
1 实例一个具体类型图表的对象 chart = FooChart() 2 为图表添加通用的配置,如主题 chart.use_theme() 3 为图表添加特定的配置 geo.add_coordinate() 4 添加数据及配置项 chart.add() 5 生成本地文件(html/svg/jpeg/png/pdf/gif)chart.render() 参考 数据解析与导入篇
http://pyecharts.org/#/zh-cn/data_import
本文参考pyecharts官方教程,希望带给大家更多精彩。
from pyecharts import Bar, Line from pyecharts.engine import create_default_environment bar = Bar("我的第一个图表", "这里是副标题") bar.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90]) line = Line("我的第一个图表", "这里是副标题") line.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90]) env = create_default_environment("html") # 为渲染创建一个默认配置环境 # create_default_environment(filet_ype) # file_type: 'html', 'svg', 'png', 'jpeg', 'gif' or 'pdf' env.render_chart_to_file(bar, path='bar.html') env.render_chart_to_file(line, path='line.html') line


# Pandas & Numpy 简单示例 import pandas as pd import numpy as np from pyecharts import Bar title = "年少风" index = pd.date_range('3/9/2018',periods=6,freq='M') df1 = pd.DataFrame(np.random.randn(6),index=index) df2 = pd.DataFrame(np.random.randn(6),index=index) dtvalue1 = [i[0] for i in df1.values] dtvalue2 = [i[0] for i in df2.values] _index = [i for i in df1.index.format()] bar = Bar(title,'Profit and loss situation') bar.add('profit',_index,dtvalue1) bar.add('profit',_index,dtvalue2) bar

年少风
官方案例
# note :使用Pandas & Numpy 时,整数类型请确保为int, 而不是 numpy.int32 #当然你可以采用更加酷炫的方式,使用jupyter notebook 来展示图表,matplotib有的, # pyecharts 也会有的 #Note :从v0.1.9.2版本开始,废弃 render_notebook() 方法,现在已采用更加pythonic的做法。 #直接调用本身实例就可以了。 #EG 案例 from pyecharts import Bar attr = ["{}月".format(i) for i in range(1,13)] v1 = [2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3] v2 = [2.6,5.9,9.0,26.4,28.7,70.7,175.6,182.2,48.7,18.8,6.0,2.3] bar = Bar("柱状图示例") bar.add("蒸发量",attr,v1,mark_line=["average"],mark_point=["max","min"]) bar.add("降水量",attr,v2,mark_line=["average"],mark_point=["max","min"]) bar

# 还有这样 from pyecharts import Pie attr = ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"] v1 = [11,12,13,10,10,10] v2 = [19,21,32,20,20,33] pie= Pie("饼图-玫瑰图示例",title_pos='center',width=900) pie.add("商品A",attr,v1,center=[25,50],is_random=True,redius=[30,75],rosetype='redius') pie.add("商品B",attr,v2,center=[75,50],is_random=True,redius=[30,75],rosetype='area',is_legend_show=False,is_label_show=True) pie


# 如果使用的是 自定义类,直接调用自定义类示例即可 from pyecharts import Bar,Line,Overlap attr = ["A","B","C","D","E","F"] v1 = [10,20,30,40,50,60] v2 = [38,28,58,48,88,68] bar =Bar("Line-Bar 示例") bar.add("bar",attr,v1) line = Line() line.add("line",attr,v2) overlap = Overlap() overlap.add(bar) overlap.add(line) overlap

1)如需使用 Jupyter Notebook 来展示图表,只需要调用自身实例即可,同时兼容 Python2 和 Python3 的 Jupyter Notebook 环境。
2)所有图表均可正常显示,与浏览器一致的交互体验,这下展示报告连 PPT 都省了!!