最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pyecharts動(dòng)態(tài)軌跡圖的實(shí)現(xiàn)示例

 更新時(shí)間:2020年04月17日 15:00:06   作者:小文的數(shù)據(jù)之旅  
這篇文章主要介紹了pyecharts動(dòng)態(tài)軌跡圖的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

今天的主題!最近很多朋友問起pyecharts,尤其是地理坐標(biāo)圖的制作,都說被其圖形之美給吸引到了。剛好今天也有同事問起來,那么今天就以pyecharts的動(dòng)態(tài)地理軌跡圖為例,說說該怎么使用pyecharts。

import pandas as pd   
import random
from pyecharts import GeoLines, Style  #地理軌跡圖的類就是Geolines

在同事那里拿了一份國內(nèi)部分城市的經(jīng)緯度數(shù)據(jù),首先用pandas讀取數(shù)據(jù),看看數(shù)據(jù)長什么樣子,我們發(fā)現(xiàn)數(shù)據(jù)由一列組成,基本結(jié)構(gòu)為'地名':['經(jīng)度','緯度'],那么接下來我們將各地方的地名,經(jīng)度,緯度提取出來。

#讀取數(shù)據(jù)
data = pd.read_excel('./Desktop/data.xlsx',header = None,names = ['name'])
print(data.head())
        name
0   '上海': [121.4648,31.2891],
1    '東莞': [113.8953,22.901],
2   '東營': [118.7073,37.5513],
3    '中山': [113.4229,22.478],
4   '臨汾': [111.4783,36.1615],
 
#寫個(gè)遍歷,把各地方的地名,經(jīng)度,緯度提取出來,并存取在DataFrame中
city_list = []
lad_list = []
long_list = []
for i in data['name']:
  s = i.strip().split(':')     #去除前后空格,并以":"為分隔符分裂字符
  city = s[0][1:-1]        #取分裂后字符的第一個(gè),得到地名
  lad = s[1].split(',')[0][2:]   #取分裂后字符的第二個(gè),繼續(xù)以','為分隔符分裂字符
  long = s[1].split(',')[1][:-2]
  city_list.append(city)
  lad_list.append(lad)
  long_list.append(long)
result = pd.DataFrame({'地點(diǎn)': city_list, '經(jīng)度': lad_list, '緯度': long_list})

從result數(shù)據(jù)框我們看到,一共由114行,3列數(shù)據(jù)組成,114行太多了,畫到地圖上會(huì)很亂,于是我們用random包隨機(jī)抽樣20個(gè)出來做實(shí)驗(yàn);

在抽樣之前,我們需要將數(shù)據(jù)整理成geolines要求的格式,格式為[('始點(diǎn)','終點(diǎn)')];

另外因?yàn)槲覀円远x各城市的經(jīng)緯度(擔(dān)心部分城市在地圖顯示不出來),pyecharts里面城市經(jīng)緯度的格式為{'城市':['經(jīng)度','緯度']},因此我們還需要組裝一下我們數(shù)據(jù)。

#以東莞為始點(diǎn),其他各個(gè)城市為終點(diǎn),整理數(shù)據(jù)
plotting = result[result['地點(diǎn)'] != '東莞']['地點(diǎn)'].apply(lambda x : ('東莞',x))
 
#自定義各城市的經(jīng)緯度
geo_cities_coords = {result.iloc[i]['地點(diǎn)']:[result.iloc[i]['經(jīng)度'],result.iloc[i]['緯度']] for i in range(len(result))}
 
#隨機(jī)抽樣20個(gè)城市組合
plotting_data = random.sample(list(plotting),20)

數(shù)據(jù)已經(jīng)準(zhǔn)備好了,接下來就套路來了,先設(shè)定畫布的格式,然后將geolines作為類Geolines的實(shí)例,接著設(shè)置geolines的參數(shù),最后展示成果!

#設(shè)置畫布的格式
style = Style(title_pos="center", 
       width=1000, 
       height=800)
 
#部分地理軌跡圖的格式
style_geolines = style.add(is_label_show=True,
           line_curve=0.3,       #軌跡線的彎曲度,0-1
           line_opacity=0.6,      #軌跡線的透明度,0-1
           geo_effect_symbol='plane', #特效的圖形,有circle,plane,pin等等
           geo_effect_symbolsize=10,  #特效圖形的大小
           geo_effect_color='#7FFFD4', #特效的顏色
           geo_effect_traillength=0.1, #特效圖形的拖尾效果,0-1
           label_color=['#FFA500', '#FFF68F'],#軌跡線的顏色,標(biāo)簽點(diǎn)的顏色,
           border_color='#97FFFF',   #邊界的顏色
           geo_normal_color='#36648B', #地圖的顏色
           label_formatter='',   #標(biāo)簽格式
           legend_pos = 'left')
 
#作圖
geolines = GeoLines('小文的pyechart出行軌跡圖', **style.init_style)
geolines.add('從東莞出發(fā)',
       plotting_data,
       maptype='china',  #地圖的類型,可以是省的地方,如'廣東',也可以是地市,如'東莞'等等
       geo_cities_coords=geo_cities_coords,
       **style_geolines)
 
#發(fā)布,得到圖形的html文件
geolines.render()

做到這里地理軌跡圖已經(jīng)完成了,那么假如我們想畫一個(gè)既有出發(fā)又有回來的軌跡圖怎么畫呢?其實(shí)很簡單,就在上面的基礎(chǔ)上,再增加一個(gè)add就可以了,如下:

geolines.add('回到東莞',
       [('???,'東莞'),('拉薩','東莞'),('貴州','東莞'),('蘭州','東莞')],
       maptype='china', 
       geo_cities_coords=geo_cities_coords,
       **style_geolines)

好了,我們看到了有幾架小飛機(jī)回到東莞了,分別是我們設(shè)置的拉薩,貴州,??诤吞m州,這樣看似乎有點(diǎn)亂,那么我們可以設(shè)置一個(gè)參數(shù),使得出發(fā)和回程分開,先設(shè)置is_legend_show = True,再設(shè)legend_selectdmode = 'single',點(diǎn)擊不同的圖例就可以顯示了,如下:

style_geolines = style.add(is_label_show=True,
           line_curve=0.3,       
           line_opacity=0.6,      
           geo_effect_symbol='plane', 
           geo_effect_symbolsize=10,  
           geo_effect_color='#7FFFD4',
           geo_effect_traillength=0.1,
           label_color=['#FFA500', '#FFF68F'],
           border_color='#97FFFF', 
           geo_normal_color='#36648B', 
           label_formatter="", 
           is_legend_show=True,
           legend_pos = 'left',
           legend_selectdmode = 'single')  #單例模式
geolines.add('從東莞出發(fā)',     #圖例1名稱
       plotting_data,
       maptype='china',  
       geo_cities_coords=geo_cities_coords,
       **style_geolines)
geolines.add('回到東莞',      #圖例2名稱
       [('???,'東莞'),('拉薩','東莞'),('貴州','東莞'),('蘭州','東莞')],
       maptype='china', 
       geo_cities_coords=geo_cities_coords,
       **style_geolines)

到此這篇關(guān)于pyecharts動(dòng)態(tài)軌跡圖的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)pyecharts動(dòng)態(tài)軌跡圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

平南县| 布拖县| 绥芬河市| 大丰市| 旅游| 林州市| 丽江市| 江津市| 凌海市| 资源县| 漳平市| 集安市| 麻栗坡县| 阳朔县| 墨脱县| 蓝山县| 奉化市| 漳州市| 普洱| 红原县| 九江市| 屯门区| 光山县| 金沙县| 西乌珠穆沁旗| 罗平县| 红原县| 德令哈市| 长治市| 精河县| 柳州市| 大厂| 来凤县| 朔州市| 衡东县| 托克托县| 大方县| 登封市| 防城港市| 石屏县| 三门峡市|