python pyecharts 實現一個檔案繪製多張圖
阿新 • • 發佈:2020-05-14
Grid並行顯示多張圖
注意: 第一個圖需為 有 x/y 軸的圖,即不能為 Pie,其他位置順序任意
from pyecharts import Bar,Line,Scatter,EffectScatter,Grid ''' Grid類:並行顯示多個圖表 TODO 第一個圖需為 有 x/y 軸的圖,即不能為 Pie,其他位置順序任意。 ''' attr = ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"] v1 = [5,20,36,10,75,90] v2 = [10,25,8,60,80] bar = Bar("柱狀圖示例",title_pos="65%") bar.add("商家A",attr,v1,is_stack=True) bar.add("商家B",v2,is_stack=True,legend_pos="80%") line = Line("折線圖示例") attr = ["週一","週二","週三","週四","週五","週六","週日"] line.add( "最高氣溫",[11,11,15,13,12,10],mark_point=["max","min"],mark_line=["average"],) line.add( "最低氣溫",[1,-2,2,5,3,0],legend_pos="20%",) v1 = [5,80] scatter = Scatter("散點圖示例",title_top="50%",title_pos="65%") scatter.add("scatter",legend_top="50%",legend_pos="80%") es = EffectScatter("動態散點圖示例",title_top="50%") es.add( "es",effect_scale=6,) # TODO 配置Grid類 grid = Grid(height=720,width=1200) # 初始化,引數可傳page_title,width,height grid.add(bar,grid_bottom="60%",grid_left="60%") # 新增要展示的圖表,並設定顯示位置 grid.add(line,grid_right="60%") # 新增要展示的圖表,並設定顯示位置 grid.add(scatter,grid_top="60%",grid_left="60%") # 新增要展示的圖表,並設定顯示位置 grid.add(es,grid_right="60%") # 新增要展示的圖表,並設定顯示位置 grid.render("./pyecharts_html/Grid_並行顯示多張圖表.html")
overlap圖表混合使用
from pyecharts import Line,Bar,Overlap ''' 多個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("蒸發量",v1) bar.add("降水量",yaxis_formatter=" ml",yaxis_interval=50,yaxis_max=250) line = Line() line.add("平均溫度",v3,yaxis_formatter=" °C",yaxis_interval=5) overlap = Overlap(width=1200,height=600) # 例項化 # 預設不新增 x y 軸,並且 x y 軸的索引都為 0 overlap.add(bar) # 新增一個 y 軸,此時 y 軸的數量為 2,第二個 y 軸的索引為 1(索引從 0 開始),所以設定 yaxis_index = 1 # 由於使用的是同一個 x 軸,所以 x 軸部分不用做出改變 overlap.add(line,yaxis_index=1,is_add_yaxis=True) overlap.render("./pyecharts_html/Overlap_圖表混合.html")
Page一個頁面順序渲染多個圖表
from pyecharts import * page = Page() # 例項化page類 # line attr = ['週一','週二','週三','週四','週五','週六','週日'] line = Line("折線圖示例") line.add("最高氣溫",mark_line=["average"]) line.add("最低氣溫",mark_line=["average"]) page.add(line) # TODO 向page中新增圖表 # pie attr = ["襯衫","襪子"] v1 = [11,10] pie = Pie("餅圖-圓環圖示例",title_pos='center') pie.add("",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 = [ ("銷售",6500),("管理",16000),("資訊科技",30000),("客服",38000),("研發",52000),("市場",25000) ] v1 = [[4300,10000,28000,35000,50000,19000]] v2 = [[5000,14000,31000,42000,21000]] radar = Radar("雷達圖示例") radar.config(schema) radar.add("預算分配",is_splitline=True,is_axisline_show=True) radar.add("實際開銷",label_color=["#4e79a7"],is_area_show=False,legend_selectedmode='single') page.add(radar) # TODO 向page中新增圖表 page.render("./pyecharts_html/Page_一個頁面渲染多張圖表.html")
Timeline:時間線輪播多圖
from pyecharts import Bar,Timeline,Overlap from random import randint attr = ["{}月".format(i) for i in range(1,7)] bar = Bar("1 月份資料","資料純屬虛構") bar.add("bar",[randint(10,50) for _ in range(6)]) line = Line() line.add("line",[randint(50,80) for _ in range(6)]) overlap = Overlap() overlap.add(bar) overlap.add(line) bar_1 = Bar("2 月份資料","資料純屬虛構") bar_1.add("bar",50) for _ in range(6)]) line_1 = Line() line_1.add("line",80) for _ in range(6)]) overlap_1 = Overlap() overlap_1.add(bar_1) overlap_1.add(line_1) bar_2 = Bar("3 月份資料","資料純屬虛構") bar_2.add("bar",50) for _ in range(6)]) line_2 = Line() line_2.add("line",80) for _ in range(6)]) overlap_2 = Overlap() overlap_2.add(bar_2) overlap_2.add(line_2) bar_3 = Bar("4 月份資料","資料純屬虛構") bar_3.add("bar",50) for _ in range(6)]) line_3 = Line() line_3.add("line",80) for _ in range(6)]) overlap_3 = Overlap() overlap_3.add(bar_3) overlap_3.add(line_3) bar_4 = Bar("5 月份資料","資料純屬虛構") bar_4.add("bar",50) for _ in range(6)]) line_4 = Line() line_4.add("line",80) for _ in range(6)]) overlap_4 = Overlap() overlap_4.add(bar_4) overlap_4.add(line_4) timeline = Timeline( page_title = "頁標籤名",width=600,height=600,is_auto_play= True,# 是否自動播放,預設=False is_loop_play= True,# 是否迴圈播放 is_rewind_play=False,# 反向播放 is_timeline_show=True,# 是否顯示時間線,預設=true timeline_play_interval=1000,# 播放間隔,ms timeline_symbol= "arrow",# 時間點標記圖形, 'circle','rect','roundRect','triangle','diamond','pin','arrow' timeline_symbol_size= [15,8],# 圖形大小,可以是數字和列表,列表表示寬高 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_時間線輪播多張圖表.html")
以上這篇python pyecharts 實現一個檔案繪製多張圖就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。