python pyecharts 實(shí)現(xiàn)一個(gè)文件繪制多張圖
Grid并行顯示多張圖
注意: 第一個(gè)圖需為 有 x/y 軸的圖,即不能為 Pie,其他位置順序任意
from pyecharts import Bar, Line, Scatter, EffectScatter, Grid
'''
Grid類(lèi):并行顯示多個(gè)圖表 TODO 第一個(gè)圖需為 有 x/y 軸的圖,即不能為 Pie,其他位置順序任意。
'''
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar("柱狀圖示例", title_pos="65%")
bar.add("商家A", attr, v1, is_stack=True)
bar.add("商家B", attr, v2, is_stack=True, legend_pos="80%")
line = Line("折線圖示例")
attr = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
line.add(
"最高氣溫",
attr,
[11, 11, 15, 13, 12, 13, 10],
mark_point=["max", "min"],
mark_line=["average"],
)
line.add(
"最低氣溫",
attr,
[1, -2, 2, 5, 3, 2, 0],
mark_point=["max", "min"],
mark_line=["average"],
legend_pos="20%",
)
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
scatter = Scatter("散點(diǎn)圖示例", title_top="50%", title_pos="65%")
scatter.add("scatter", v1, v2, legend_top="50%", legend_pos="80%")
es = EffectScatter("動(dòng)態(tài)散點(diǎn)圖示例", title_top="50%")
es.add(
"es",
[11, 11, 15, 13, 12, 13, 10],
[1, -2, 2, 5, 3, 2, 0],
effect_scale=6,
legend_top="50%",
legend_pos="20%",
)
# TODO 配置Grid類(lèi)
grid = Grid(height=720, width=1200) # 初始化,參數(shù)可傳page_title,width,height
grid.add(bar, grid_bottom="60%", grid_left="60%") # 添加要展示的圖表,并設(shè)置顯示位置
grid.add(line, grid_bottom="60%", grid_right="60%") # 添加要展示的圖表,并設(shè)置顯示位置
grid.add(scatter, grid_top="60%", grid_left="60%") # 添加要展示的圖表,并設(shè)置顯示位置
grid.add(es, grid_top="60%", grid_right="60%") # 添加要展示的圖表,并設(shè)置顯示位置
grid.render("./pyecharts_html/Grid_并行顯示多張圖表.html")
overlap圖表混合使用
from pyecharts import Line, Bar, Overlap
'''
多個(gè)x y軸示例
'''
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]
v3 = [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
bar = Bar()
bar.add("蒸發(fā)量", attr, v1)
bar.add("降水量", attr, v2, yaxis_formatter=" ml",
yaxis_interval=50, yaxis_max=250)
line = Line()
line.add("平均溫度", attr, v3, yaxis_formatter=" °C", yaxis_interval=5)
overlap = Overlap(width=1200, height=600) # 實(shí)例化
# 默認(rèn)不新增 x y 軸,并且 x y 軸的索引都為 0
overlap.add(bar)
# 新增一個(gè) y 軸,此時(shí) y 軸的數(shù)量為 2,第二個(gè) y 軸的索引為 1(索引從 0 開(kāi)始),所以設(shè)置 yaxis_index = 1
# 由于使用的是同一個(gè) x 軸,所以 x 軸部分不用做出改變
overlap.add(line, yaxis_index=1, is_add_yaxis=True)
overlap.render("./pyecharts_html/Overlap_圖表混合.html")
Page一個(gè)頁(yè)面順序渲染多個(gè)圖表
from pyecharts import *
page = Page() # 實(shí)例化page類(lèi)
# line
attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
line = Line("折線圖示例")
line.add("最高氣溫", attr, [11, 11, 15, 13, 12, 13, 10],
mark_point=["max", "min"], mark_line=["average"])
line.add("最低氣溫", attr, [1, -2, 2, 5, 3, 2, 0],
mark_point=["max", "min"], mark_line=["average"])
page.add(line) # TODO 向page中添加圖表
# pie
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
v1 = [11, 12, 13, 10, 10, 10]
pie = Pie("餅圖-圓環(huán)圖示例", title_pos='center')
pie.add("", attr, v1, radius=[40, 75], label_text_color=None,
is_label_show=True, legend_orient='vertical', legend_pos='left')
page.add(pie) # TODO 向page中添加圖表
# kline
v1 = [[2320.26, 2320.26, 2287.3, 2362.94],
[2300, 2291.3, 2288.26, 2308.38],
[2295.35, 2346.5, 2295.35, 2345.92],
[2347.22, 2358.98, 2337.35, 2363.8],
[2360.75, 2382.48, 2347.89, 2383.76],
[2383.43, 2385.42, 2371.23, 2391.82],
[2377.41, 2419.02, 2369.57, 2421.15],
[2425.92, 2428.15, 2417.58, 2440.38],
[2411, 2433.13, 2403.3, 2437.42],
[2432.68, 2334.48, 2427.7, 2441.73],
[2430.69, 2418.53, 2394.22, 2433.89],
[2416.62, 2432.4, 2414.4, 2443.03],
[2441.91, 2421.56, 2418.43, 2444.8],
[2420.26, 2382.91, 2373.53, 2427.07],
[2383.49, 2397.18, 2370.61, 2397.94],
[2378.82, 2325.95, 2309.17, 2378.82],
[2322.94, 2314.16, 2308.76, 2330.88],
[2320.62, 2325.82, 2315.01, 2338.78],
[2313.74, 2293.34, 2289.89, 2340.71],
[2297.77, 2313.22, 2292.03, 2324.63],
[2322.32, 2365.59, 2308.92, 2366.16],
[2364.54, 2359.51, 2330.86, 2369.65],
[2332.08, 2273.4, 2259.25, 2333.54],
[2274.81, 2326.31, 2270.1, 2328.14],
[2333.61, 2347.18, 2321.6, 2351.44],
[2340.44, 2324.29, 2304.27, 2352.02],
[2326.42, 2318.61, 2314.59, 2333.67],
[2314.68, 2310.59, 2296.58, 2320.96],
[2309.16, 2286.6, 2264.83, 2333.29],
[2282.17, 2263.97, 2253.25, 2286.33],
[2255.77, 2270.28, 2253.31, 2276.22]]
kline = Kline("K 線圖示例")
kline.add("日K", ["2017/7/{}".format(i + 1) for i in range(31)], v1)
page.add(kline) # TODO 向page中添加圖表
# radar
schema = [
("銷(xiāo)售", 6500), ("管理", 16000), ("信息技術(shù)", 30000),
("客服", 38000), ("研發(fā)", 52000), ("市場(chǎng)", 25000)
]
v1 = [[4300, 10000, 28000, 35000, 50000, 19000]]
v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]
radar = Radar("雷達(dá)圖示例")
radar.config(schema)
radar.add("預(yù)算分配", v1, is_splitline=True, is_axisline_show=True)
radar.add("實(shí)際開(kāi)銷(xiāo)", v2, label_color=["#4e79a7"], is_area_show=False,
legend_selectedmode='single')
page.add(radar) # TODO 向page中添加圖表
page.render("./pyecharts_html/Page_一個(gè)頁(yè)面渲染多張圖表.html")
Timeline:時(shí)間線輪播多圖
from pyecharts import Bar, Line, Timeline, Overlap
from random import randint
attr = ["{}月".format(i) for i in range(1, 7)]
bar = Bar("1 月份數(shù)據(jù)", "數(shù)據(jù)純屬虛構(gòu)")
bar.add("bar", attr, [randint(10, 50) for _ in range(6)])
line = Line()
line.add("line", attr, [randint(50, 80) for _ in range(6)])
overlap = Overlap()
overlap.add(bar)
overlap.add(line)
bar_1 = Bar("2 月份數(shù)據(jù)", "數(shù)據(jù)純屬虛構(gòu)")
bar_1.add("bar", attr, [randint(10, 50) for _ in range(6)])
line_1 = Line()
line_1.add("line", attr, [randint(50, 80) for _ in range(6)])
overlap_1 = Overlap()
overlap_1.add(bar_1)
overlap_1.add(line_1)
bar_2 = Bar("3 月份數(shù)據(jù)", "數(shù)據(jù)純屬虛構(gòu)")
bar_2.add("bar", attr, [randint(10, 50) for _ in range(6)])
line_2 = Line()
line_2.add("line", attr, [randint(50, 80) for _ in range(6)])
overlap_2 = Overlap()
overlap_2.add(bar_2)
overlap_2.add(line_2)
bar_3 = Bar("4 月份數(shù)據(jù)", "數(shù)據(jù)純屬虛構(gòu)")
bar_3.add("bar", attr, [randint(10, 50) for _ in range(6)])
line_3 = Line()
line_3.add("line", attr, [randint(50, 80) for _ in range(6)])
overlap_3 = Overlap()
overlap_3.add(bar_3)
overlap_3.add(line_3)
bar_4 = Bar("5 月份數(shù)據(jù)", "數(shù)據(jù)純屬虛構(gòu)")
bar_4.add("bar", attr, [randint(10, 50) for _ in range(6)])
line_4 = Line()
line_4.add("line", attr, [randint(50, 80) for _ in range(6)])
overlap_4 = Overlap()
overlap_4.add(bar_4)
overlap_4.add(line_4)
timeline = Timeline(
page_title = "頁(yè)標(biāo)簽名",
width=600,
height=600,
is_auto_play= True, # 是否自動(dòng)播放,默認(rèn)=False
is_loop_play= True, # 是否循環(huán)播放
is_rewind_play=False, # 反向播放
is_timeline_show=True, # 是否顯示時(shí)間線,默認(rèn)=true
timeline_play_interval=1000, # 播放間隔,ms
timeline_symbol= "arrow", # 時(shí)間點(diǎn)標(biāo)記圖形, 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
timeline_symbol_size= [15,8], # 圖形大小,可以是數(shù)字和列表,列表表示寬高
timeline_left= "1% ", # 距離左邊距離 , timeline_right
timeline_bottom=0, # timeline_top
)
timeline.add(overlap, '1 月')
timeline.add(overlap_1, '2 月')
timeline.add(overlap_2, '3 月')
timeline.add(overlap_3, '4 月')
timeline.add(overlap_4, '5 月')
timeline.render("./pyecharts_html/Timeline_時(shí)間線輪播多張圖表.html")
以上這篇python pyecharts 實(shí)現(xiàn)一個(gè)文件繪制多張圖就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何利用?Python?繪制動(dòng)態(tài)可視化圖表
這篇文章主要介紹了如何利用?Python?繪制動(dòng)態(tài)可視化圖表,主要介紹介紹如何進(jìn)行保存gif格式的文件。那么我們就開(kāi)始進(jìn)入主題,來(lái)談一下Python當(dāng)中的gif模塊,需要的朋友可以參考一下2022-02-02
Python對(duì)于json數(shù)據(jù)鍵值對(duì)遍歷
這篇文章主要介紹了一文搞定Python中對(duì)于json數(shù)據(jù)鍵值對(duì)遍歷,Python中可以通過(guò)字典或者列表的遍歷方式來(lái)遍歷JSON格式的數(shù)據(jù)中的鍵值對(duì),具體的遍歷方法取決于你將JSON數(shù)據(jù)解析后得到了一個(gè)字典對(duì)象還是一個(gè)列表對(duì)象,以及JSON數(shù)據(jù)的結(jié)構(gòu),需要的朋友可以參考下2023-04-04
使用 Django Highcharts 實(shí)現(xiàn)數(shù)據(jù)可視化過(guò)程解析
這篇文章主要介紹了使用 Django Highcharts 實(shí)現(xiàn)數(shù)據(jù)可視化過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
Python寫(xiě)出新冠狀病毒確診人數(shù)地圖的方法
在本篇文章里小編給大家分享的是關(guān)于Python做新冠狀病毒確診人數(shù)地圖的詳解內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2020-02-02
PyCharm中關(guān)于安裝第三方包的三個(gè)建議
這篇文章主要介紹了PyCharm中關(guān)于安裝第三方包的三個(gè)建議,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
python 使用while寫(xiě)猜年齡小游戲過(guò)程解析
這篇文章主要介紹了python 使用while寫(xiě)猜年齡小游戲過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
Python中apply函數(shù)的用法實(shí)例教程
這篇文章主要介紹了Python中apply函數(shù)的用法,配合實(shí)例解說(shuō),可加深讀者對(duì)apply函數(shù)的理解,需要的朋友可以參考下2014-07-07

