Echarts 是百度开源的一个数据可视化 JS 库。主要用于数据可视化。
而 pyecharts 是一个用于生成 Echarts 图表的类库(归属于python的第三方模块),自带dark主题。
【本质上是:Echarts 与 Python 的对接。】
通用配置项
xyAxis:直角坐标系中的 x、y 轴(Line、Bar、Scatter、EffectScatter、Kline)
dataZoom:dataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息、概览数据整体、去除离群点的影响。
legend:图例组件。图例组件展现了不同系列的标记(symbol),颜色和名字等
label:图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等
lineStyle:带线图形的线的风格选项
grid3D:3D笛卡尔坐标系组配置项,适用于 3D 图形。(Bar3D, Line3D, Scatter3D)
axis3D:3D 笛卡尔坐标系 X,Y,Z 轴配置项,适用于 3D 图形。(Bar3D, Line3D, Scatter3D)
visualMap:是视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)
markLine&markPoint:图形标记组件,用于标记指定的特殊数据,又标记线和标记点两种。(Bar、Line、Kline)
tooltip:提示框组件,用于移动或点击鼠标时弹出数据内容.
图表详细
Bar(柱状图/条形图) Bar3D(3D 柱状图)
Boxplot(箱形图) EffectScatter(带有涟漪特效动画的散点图)
Funnel(漏斗图) Gauge(仪表盘)
Geo(地理坐标系) Graph(关系图)
HeatMap(热力图) Kline(K线图)
Line(折线/面积图) Line3D(3D 折线图)
Liquid(水球图) Map(地图)
Parallel(平行坐标系) Pie(饼图)
Polar(极坐标系) Radar(雷达图)
Sankey(桑基图) Scatter(散点图)
ThemeRiver(主题河流图) Scatter3D(3D 散点图)
WordCloud(词云图)
示例一:
# encoding: utf-8 from pyecharts import Bar bar = Bar("图表", "很任性") #图标标题
#add()主要方法,用于添加图表的数据和设置各种配置项。is_more_utils 为 True,提供更多实用工具按钮。 bar.add("主题-服装", ["A", "B", "C", "D", "E", "F"], [5, 20, 36, 10, 75, 90],is_more_utils=True) #打印输出图表的所有配置项 bar.show_config() #默认将会在根目录下生成一个 render.html 的文件,支持path参数,设置文件保存位置,如render(r”e:\my_first_chart.html”) bar.render()
示例二:
1 # encoding: utf-8 6 from pyecharts import Bar, Scatter3D 7 from pyecharts import Page 8 9 #在一个网页内按顺序展示多个图的话,推荐使用 Page() 类 10 page = Page() # step 1 11 12 # bar 13 attr = ["A", "B", "C", "D", "E", "F"] 14 v1 = [5, 20, 36, 10, 75, 90] 15 v2 = [10, 25, 8, 60, 20, 80] 16 bar = Bar("柱状图数据堆叠示例") 17 bar.add("商家A", attr, v1, is_stack=True) 18 bar.add("商家B", attr, v2, is_stack=True) 19 page.add(bar) # step 2 使用 Page.add() 增加图 20 21 22 # scatter3D 23 import random 24 data = [[random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80)] 25 range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', 26 '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'] 27 scatter3D = Scatter3D("3D 散点图示例", width=1200, height=600) 28 scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color) 29 page.add(scatter3D) # step 2 30 31 page.render() # step 3 使用 Page.render() 渲染网页