溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

pyecharts怎么實現(xiàn)時間軸

發(fā)布時間:2021-12-14 09:37:44 來源:億速云 閱讀:316 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“pyecharts怎么實現(xiàn)時間軸”,在日常操作中,相信很多人在pyecharts怎么實現(xiàn)時間軸問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”pyecharts怎么實現(xiàn)時間軸”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

pyecharts中是如何利用時間軸來組合多個圖表的。

顧名思義,時間軸就是一條軸,上面有多個節(jié)點,狹義上可以把每個節(jié)點理解為年、月、日等時間節(jié)點,當然引申一下它還可以表示除時間以外的其他屬性。

 舉個例子 

有A-J一共10個商品品類,每個品類下面有5個商品,我們要展示這10*5個商品2020年每個月的銷量,數(shù)據(jù)如下圖

pyecharts怎么實現(xiàn)時間軸

10個品類倒并不算多,但是每個品類下又有5個商品,兩個維度較差后就成了50個,如果我們把這50個全都放在一張圖里,肯定是密密麻麻難以區(qū)分。所以我們使用時間軸的方式,把品類和商品兩個維度分別表示。

看看效果 

pyecharts怎么實現(xiàn)時間軸

如上圖效果,可以簡單地理解為每個品類做一張圖,每張圖里用5條曲線表示每個商品,最后將這10張圖疊加到一起。最下面的組件即為時間軸,軸上10個點分別表示對應的品類,點擊即可切換。

 如何實現(xiàn) 

import pandas as pd import numpy as np from pyecharts import charts, options  data = pd.read_excel('商品銷量.xlsx') timeline = charts.Timeline(init_opts=options.InitOpts(width='1200px', height='600px')) timeline.add_schema(axis_type='category', orient='horizontal', symbol='circle', symbol_size=10,                     play_interval=3000, is_auto_play=True, is_loop_play=True, is_timeline_show=True,                     control_position='left', pos_left='10%', pos_bottom='0%', width='800px', height='30px') for i in list(set(data['品類'])):     line = charts.Line(init_opts=options.InitOpts(width='1200px', height='600px'))     line.add_xaxis([str(x) for x in range(1, 13)])     line.set_global_opts(         title_opts=options.TitleOpts('各商品銷量趨勢圖', pos_left='50%'),         legend_opts=options.LegendOpts(is_show=True, pos_top='50%', pos_right='0%', orient='vertical'))     for j in list(set(data.loc[data['品類'] == i, '商品'])):         line.add_yaxis(series_name=j,                        y_axis=list(data.loc[np.array(data['品類'] == i) & np.array(data['商品'] == j), '銷量']))     timeline.add(chart=line, time_point=i) timeline.render('timeline.html')

 這都是啥玩意兒

第一步,讀取excel文件不必多說。

然后就是創(chuàng)建時間軸對象,和普通圖表類型一樣進行初始化配置,我們這里只設(shè)置高和寬。接下來是設(shè)置時間軸的相關(guān)屬性:

1.axis_type表示時間軸類型,值可以是value(連續(xù)數(shù)值型)、category(離散型)、time(時間),如果是time,程序會自動計算時間間隔選擇合適的顯示格式,此處我們適用的是category

2.orient是時間軸的放置方向,取值為vertical(垂直)或horizontal(水平)

3.symbol用來定義時間軸上節(jié)點的圖標,如:'circle', 'rect', 'roundRect', 'triangle', 'diamond',  'pin', 'arrow'

4.symbol_size控制節(jié)點圖標的大小

5.時間軸會附帶一個播放按鈕,點擊可以播放和暫停,使用play_interval來控制節(jié)點的切換時間間隔,單位是毫秒

6.將is_auto_play設(shè)置為True,頁面打開后將會自動播放

7.is_loop_play則表示循環(huán)播放

8.is_timeline_show就是頁面是否顯示時間軸組建

9.control_position是播放按鈕的位置,left、right

10.pos_left、pos_right、pos_top、pos_bottom則是控制時間軸位置的參數(shù),分別表示時間軸離容器左、右、上、下側(cè)的距離,可以是百分比也可以是絕對值

11.height和width就是時間軸的高度和寬度

時間軸屬性配置完成后,使用循環(huán)的方式,把每次創(chuàng)建的圖表對象line添加到timeline上即可。這里只是以折線圖為例,實際上時間軸可以對多種圖表類型進行組合,比如多個餅圖、多個地圖,或者是不同圖表類型之間也可以在同一個時間軸中實現(xiàn)自由切換。

到此,關(guān)于“pyecharts怎么實現(xiàn)時間軸”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI