echarts想必大家都不陌生,一个非常优秀的可视化工具;今天要记录和介绍的是python的一款工具包,pyecharts,能够在python文件中实现可视化哦~
1、包导入
from pyecharts.charts import *
from pyecharts.components import Table
from pyecharts import options as opts
from pyecharts.commons.utils import JsCode
import random
import datetime
from pyecharts.globals import CurrentConfig
CurrentConfig.ONLINE_HOST = "https://cdn.kesci.com/lib/pyecharts_assets/"
2、条形图
# 虚假数据
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data = [123, 153, 89, 107, 98, 23]
bar = (Bar()
.add_xaxis(x_data)
.add_yaxis('数量', y_data)
.set_global_opts(title_opts=opts.TitleOpts(title="第一个条形图"),
legend_opts=opts.LegendOpts(type_="scroll",orient="verticle"))
)
bar.render_notebook()
3、折线图
# 虚假数据
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data = [123, 153, 89, 107, 98, 23]
line = (Line()
.add_xaxis(x_data)
.add_yaxis('', y_data)
)
line.render_notebook()
4、箱形图
# 虚假数据
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data = [[random.randint(100, 200) for i in range(10)] for item in x_data]
Box = Boxplot()
Box.add_xaxis(x_data)
Box.add_yaxis("", Box.prepare_data(y_data))
Box.render_notebook()
5、散点图
# 虚假数据
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data = [123, 153, 89, 107, 98, 23]
scatter = (Scatter()
.add_xaxis(x_data)
.add_yaxis('', y_data)
)
scatter.render_notebook()
6、热力图
# 虚假数据
data = [[i, j, random.randint(0, 100)] for i in range(24) for j in range(7)]
hour_list = [str(i) for i in range(24)]
week_list = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
heat = (HeatMap()
.add_xaxis(hour_list)
.add_yaxis("", week_list, data)
)
heat.render_notebook()
7、层叠图
# 虚假数据
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data_bar = [123, 153, 89, 107, 98, 23]
y_data_line = [153, 107, 23, 89, 123, 107]
bar = (Bar()
.add_xaxis(x_data)
.add_yaxis('', y_data_bar)
)
line = (Line()
.add_xaxis(x_data)
.add_yaxis('', y_data_line)
)
overlap = bar.overlap(line)
overlap.render_notebook()
8、饼图
# 虚假数据
cate = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
data = [123, 153, 89, 107, 98, 23]
pie = (Pie()
.add('', [list(z) for z in zip(cate, data)])
)
pie.render_notebook()
9、漏斗图
# 虚假数据
cate = ['访问', '注册', '加入购物车', '提交订单', '付款成功']
data = [30398, 15230, 10045, 3109, 1698]
funnel = (Funnel()
.add("", [list(z) for z in zip(cate, data)])
)
funnel.render_notebook()
10、地图
# 虚假数据
province = [
'广东',
'湖北',
'湖南',
'四川',
'重庆',
'黑龙江',
'浙江',
'山西',
'河北',
'安徽',
'河南',
'山东',
'西藏']
data = [(i, random.randint(50, 150)) for i in province]
geo = (
Geo()
.add_schema(maptype="china")
.add("", data)
)
geo.render_notebook()
11、水球图
liquid = (Liquid()
.add("", [0.52, 0.44])
)
liquid.render_notebook()
12、雷达图
# 虚假数据
data = [
[78, 91, 123, 78, 82, 67],
[89, 101, 127, 88, 86, 75],
[86, 93, 101, 84, 90, 73],
]
radar = (Radar()
.add_schema(schema=[
opts.RadarIndicatorItem(name="语文", max_=150),
opts.RadarIndicatorItem(name="数学", max_=150),
opts.RadarIndicatorItem(name="英语", max_=150),
opts.RadarIndicatorItem(name="物理", max_=100),
opts.RadarIndicatorItem(name="生物", max_=100),
opts.RadarIndicatorItem(name="化学", max_=100),
]
)
.add('', data)
)
radar.render_notebook()
13、加入样式图
from pyecharts.charts import Bar
from pyecharts.faker import Faker
bar = Bar()
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
bar.add_yaxis("商家B", [15, 10, 33, 88, 45, 7])
bar.set_global_opts(title_opts=opts.TitleOpts("我的第一个图表"),
legend_opts=opts.LegendOpts(),
toolbox_opts=opts.ToolboxOpts(orient='verticle',pos_left='right',pos_top='middle',
feature=opts.ToolBoxFeatureOpts(save_as_image=opts.ToolBoxFeatureSaveAsImageOpts(),
restore=opts.ToolBoxFeatureRestoreOpts(),
data_view=opts.ToolBoxFeatureDataViewOpts(),
data_zoom=opts.ToolBoxFeatureDataZoomOpts(),
magic_type=opts.ToolBoxFeatureMagicTypeOpts(),
brush=opts.ToolBoxFeatureBrushOpts())),)
bar.render("toolbox.html")
bar.render_notebook()