关系图
nodes = [ {"name": "结点1", "symbolSize": 1}, {"name": "结点2", "symbolSize": 2}, {"name": "结点3", "symbolSize": 3}, {"name": "结点4", "symbolSize": 4}, {"name": "结点5", "symbolSize": 5}, {"name": "结点6", "symbolSize": 6}, {"name": "结点7", "symbolSize": 7}, {"name": "结点8", "symbolSize": 8}, ] links = [{'source': '结点1', 'target': '结点2'}, {'source': '结点1', 'target': '结点3'}, {'source': '结点1', 'target': '结点4'}, {'source': '结点2', 'target': '结点1'}, {'source': '结点3', 'target': '结点4'}, {'source': '结点3', 'target': '结点5'}, {'source': '结点3', 'target': '结点6'}, {'source': '结点4', 'target': '结点1'}, {'source': '结点4', 'target': '结点2'}, {'source': '结点4', 'target': '结点7'}, {'source': '结点4', 'target': '结点8'}, {'source': '结点5', 'target': '结点1'}, {'source': '结点5', 'target': '结点4'}, {'source': '结点5', 'target': '结点6'}, {'source': '结点5', 'target': '结点7'}, {'source': '结点5', 'target': '结点8'}, {'source': '结点6', 'target': '结点1'}, {'source': '结点6', 'target': '结点7'}, {'source': '结点6', 'target': '结点8'}, {'source': '结点7', 'target': '结点1'}, {'source': '结点7', 'target': '结点2'}, {'source': '结点7', 'target': '结点8'}, {'source': '结点8', 'target': '结点1'}, {'source': '结点8', 'target': '结点2'}, {'source': '结点8', 'target': '结点3'}, ] graph = ( Graph() .add("", nodes, links) ) graph.render_notebook()
平行坐标系
# 虚假数据 data = [ ['一班', 78, 91, 123, 78, 82, 67, "优秀"], ['二班', 89, 101, 127, 88, 86, 75, "良好"], ['三班', 86, 93, 101, 84, 90, 73, "合格"], ] parallel = ( Parallel() .add_schema( [ opts.ParallelAxisOpts( dim=0, name="班级", type_="category", data=["一班", "二班", "三班"], ), opts.ParallelAxisOpts(dim=1, name="英语"), opts.ParallelAxisOpts(dim=2, name="数学"), opts.ParallelAxisOpts(dim=3, name="语文"), opts.ParallelAxisOpts(dim=4, name="物理"), opts.ParallelAxisOpts(dim=5, name="生物"), opts.ParallelAxisOpts(dim=6, name="化学"), opts.ParallelAxisOpts( dim=7, name="评级", type_="category", data=["优秀", "良好", "合格"], ), ] ) .add("", data) ) parallel.render_notebook()
极坐标系
# 虚假数据 cate = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu'] data = [123, 153, 89, 107, 98, 23] polar = ( Polar() .add_schema( radiusaxis_opts=opts.RadiusAxisOpts(data=cate, type_="category"), ) .add("", data, type_='bar') ) polar.render_notebook()
雷达图
# 虚假数据 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()
旭日图
# 虚假数据 data = [ {"name": "湖南", "children": [ {"name": "长沙", "children": [ {"name": "雨花区", "value": 55}, {"name": "岳麓区", "value": 34}, {"name": "天心区", "value": 144}, ]}, {"name": "常德", "children": [ {"name": "武陵区", "value": 156}, {"name": "鼎城区", "value": 134}, ]}, {"name": "湘潭", "value": 87}, {"name": "株洲", "value": 23}, ], }, {"name": "湖北", "children": [ {"name": "武汉", "children": [ {"name": "洪山区", "value": 55}, {"name": "东湖高新", "value": 78}, {"name": "江夏区", "value": 34}, ]}, {"name": "鄂州", "value": 67}, {"name": "襄阳", "value": 34}, ], }, {"name": "北京", "value": 235} ] sunburst = (Sunburst() .add("", data_pair=data) ) sunburst.render_notebook()
桑基图
# 虚假数据 nodes = [ {"name": "访问"}, {"name": "注册"}, {"name": "付费"}, ] links = [ {"source": "访问", "target": "注册", "value": 50}, {"source": "注册", "target": "付费", "value": 30}, ] sankey = ( Sankey() .add("", nodes, links) ) sankey.render_notebook()
河流图
# 虚假数据 cate = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu'] date_list = ["2020/4/{}".format(i + 1) for i in range(30)] data = [[day, random.randint(10, 50), c] for day in date_list for c in cate] river = ( ThemeRiver() .add( series_name=cate, data=data, singleaxis_opts=opts.SingleAxisOpts(type_="time") ) ) river.render_notebook()
词云图
words = [ ("hey", 230), ("jude", 124), ("dont", 436), ("make", 255), ("it", 247), ("bad", 244), ("Take", 138), ("a sad song", 184), ("and", 12), ("make", 165), ("it", 247), ("better", 182), ("remember", 255), ("to", 150), ("let", 162), ("her", 266), ("into", 60), ("your", 82), ("heart", 173), ("then", 365), ("you", 360), ("can", 282), ("start", 273), ("make", 265), ] wc = ( WordCloud() .add("", words) ) wc.render_notebook()
表格
from pyecharts.components import Table table = Table() headers = ["City name", "Area", "Population", "Annual Rainfall"] rows = [ ["Brisbane", 5905, 1857594, 1146.4], ["Adelaide", 1295, 1158259, 600.5], ["Darwin", 112, 120900, 1714.7], ["Hobart", 1357, 205556, 619.5], ["Sydney", 2058, 4336374, 1214.8], ["Melbourne", 1566, 3806092, 646.9], ["Perth", 5386, 1554769, 869.4], ] table.add(headers, rows) table.render_notebook()
City name Area Population Annual Rainfall
Brisbane 5905 1857594 1146.4
Adelaide 1295 1158259 600.5
Darwin 112 120900 1714.7
Hobart 1357 205556 619.5
Sydney 2058 4336374 1214.8
Melbourne 1566 3806092 646.9
Perth 5386 1554769 869.4
3D图表
3D散点图
data = [(random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)) for _ in range(100)] scatter3D = (Scatter3D() .add("", data) ) scatter3D.render_notebook()
3D折线图
data = [] for t in range(0, 1000): x = math.cos(t/10) y = math.sin(t/10) z = t/10 data.append([x, y, z]) line3D = (Line3D() .add("", data, xaxis3d_opts=opts.Axis3DOpts(type_="value"), yaxis3d_opts=opts.Axis3DOpts(type_="value")) ) line3D.render_notebook()
3D直方图
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 = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'] bar3D = ( Bar3D() .add( "", data, xaxis3d_opts=opts.Axis3DOpts(hour_list, type_="category"), yaxis3d_opts=opts.Axis3DOpts(week_list, type_="category"), zaxis3d_opts=opts.Axis3DOpts(type_="value"), ) ) bar3D.render_notebook()
3D地图
# 虚假数据 province = [ '广东', '湖北', '湖南', '四川', '重庆', '黑龙江', '浙江', '山西', '河北', '安徽', '河南', '山东', '西藏'] data = [(i, random.randint(50, 150)) for i in province] map3d = ( Map3D() .add("", data_pair=data, maptype='china') ) map3d.render_notebook() 3D地球 from pyecharts.faker import POPULATION mapglobe = ( MapGlobe() .add_schema() .add( series_name="", maptype="world", data_pair=POPULATION[1:] ) ) mapglobe.render_notebook()
树型图表
树图
# 虚假数据 data = [ {"name": "湖南", "children": [ {"name": "长沙", "children": [ {"name": "雨花区", "value": 55}, {"name": "岳麓区", "value": 34}, {"name": "天心区", "value": 144}, ]}, {"name": "常德", "children": [ {"name": "武陵区", "value": 156}, {"name": "鼎城区", "value": 134}, ]}, {"name": "湘潭", "value": 87}, {"name": "株洲", "value": 23}, ], } ] tree = ( Tree() .add("", data) ) tree.render_notebook()
矩形树图
# 虚假数据 data = [ {"name": "湖南", "children": [ {"name": "长沙", "children": [ {"name": "雨花区", "value": 55}, {"name": "岳麓区", "value": 34}, {"name": "天心区", "value": 144}, ]}, {"name": "常德", "children": [ {"name": "武陵区", "value": 156}, {"name": "鼎城区", "value": 134}, ]}, {"name": "湘潭", "value": 87}, {"name": "株洲", "value": 23}, ], }, {"name": "湖北", "children": [ {"name": "武汉", "children": [ {"name": "洪山区", "value": 55}, {"name": "东湖高新", "value": 78}, {"name": "江夏区", "value": 34}, ]}, {"name": "鄂州", "value": 67}, {"name": "襄阳", "value": 34}, ], }, {"name": "北京", "value": 235} ] treemap = ( TreeMap() .add("", data) ) treemap.render_notebook()