利用Python繪制酷炫的3D地圖
之前我們介紹了很多Python地圖可視化的內(nèi)容,本次主要介紹如何Python繪制3D地圖,還是比較神奇的,下面讓我們一起一飽眼福吧!
1.重慶市3D地圖
from?pyecharts?import?options?as?opts from?pyecharts.charts?import?Map3D from?pyecharts.globals?import?ChartType #?經(jīng)緯度 example_data?=?[ ????[[119.107078,?36.70925,?1000],?[116.587245,?35.415393,?1000]], ????[[117.000923,?36.675807],?[120.355173,?36.082982]], ????[[118.047648,?36.814939],?[118.66471,?37.434564]], ????[[121.391382,?37.539297],?[119.107078,?36.70925]], ????[[116.587245,?35.415393],?[122.116394,?37.509691]], ????[[119.461208,?35.428588],?[118.326443,?35.065282]], ????[[116.307428,?37.453968],?[115.469381,?35.246531]], ] c?=?( ????Map3D(init_opts=opts.InitOpts(width="1400px",?height="700px")) ????.add_schema( ????????maptype="重慶", ????????itemstyle_opts=opts.ItemStyleOpts( ????????????color="rgb(5,101,123)", ????????????opacity=1, ????????????border_width=0.8, ????????????border_color="rgb(62,215,213)", ????????), ????????light_opts=opts.Map3DLightOpts( ????????????main_color="#fff", ????????????main_intensity=1.2, ????????????is_main_shadow=False, ????????????main_alpha=55, ????????????main_beta=10, ????????????ambient_intensity=0.3, ????????), ????????view_control_opts=opts.Map3DViewControlOpts(center=[-10,?0,?10]), ????????post_effect_opts=opts.Map3DPostEffectOpts(is_enable=False), ????) ????.add( ????????series_name="", ????????data_pair=example_data, ????????type_=ChartType.LINES3D, ????????effect=opts.Lines3DEffectOpts( ????????????is_show=True, ????????????period=4, ????????????trail_width=3, ????????????trail_length=0.5, ????????????trail_color="#f00", ????????????trail_opacity=1, ????????), ????????linestyle_opts=opts.LineStyleOpts(is_show=False,?color="#fff",?opacity=0), ????) ????.set_global_opts(title_opts=opts.TitleOpts(title="Map3D")) ????.render("區(qū)縣3D地圖.html") )
2.中國3D地圖一
數(shù)組里面分別代表:經(jīng)緯度,數(shù)值。
from?pyecharts?import?options?as?opts from?pyecharts.charts?import?Map3D from?pyecharts.globals?import?ChartType from?pyecharts.commons.utils?import?JsCode example_data?=?[ ????("黑龍江",?[127.9688,?45.368,?100]), ????("內(nèi)蒙古",?[110.3467,?41.4899,?100]), ????("吉林",?[125.8154,?44.2584,?100]), ????("遼寧",?[123.1238,?42.1216,?100]), ????("河北",?[114.4995,?38.1006,?100]), ????("天津",?[117.4219,?39.4189,?100]), ????("山西",?[112.3352,?37.9413,?100]), ????("陜西",?[109.1162,?34.2004,?100]), ????("甘肅",?[103.5901,?36.3043,?100]), ????("寧夏",?[106.3586,?38.1775,?100]), ????("青海",?[101.4038,?36.8207,?100]), ????("新疆",?[87.9236,?43.5883,?100]), ????("西藏",?[91.11,?29.97,?100]), ????("四川",?[103.9526,?30.7617,?100]), ????("重慶",?[108.384366,?30.439702,?100]), ????("山東",?[117.1582,?36.8701,?100]), ????("河南",?[113.4668,?34.6234,?100]), ????("江蘇",?[118.8062,?31.9208,?100]), ????("安徽",?[117.29,?32.0581,?100]), ????("湖北",?[114.3896,?30.6628,?100]), ????("浙江",?[119.5313,?29.8773,?100]), ????("福建",?[119.4543,?25.9222,?100]), ????("江西",?[116.0046,?28.6633,?100]), ????("湖南",?[113.0823,?28.2568,?100]), ????("貴州",?[106.6992,?26.7682,?100]), ????("廣西",?[108.479,?23.1152,?100]), ????("海南",?[110.3893,?19.8516,?100]), ????("上海",?[121.4648,?31.2891,?100]), ] c?=?( ????Map3D(init_opts=opts.InitOpts(width="1400px",?height="700px")) ????.add_schema( ????????itemstyle_opts=opts.ItemStyleOpts( ????????????color="rgb(5,101,123)", ????????????opacity=1, ????????????border_width=0.8, ????????????border_color="rgb(62,215,213)", ????????), ????????map3d_label=opts.Map3DLabelOpts( ????????????is_show=False, ????????????formatter=JsCode("function(data){return?data.name?+?"?"?+?data.value[2];}"), ????????), ????????emphasis_label_opts=opts.LabelOpts( ????????????is_show=False, ????????????color="#fff", ????????????font_size=10, ????????????background_color="rgba(0,23,11,0)", ????????), ????????light_opts=opts.Map3DLightOpts( ????????????main_color="#fff", ????????????main_intensity=1.2, ????????????main_shadow_quality="high", ????????????is_main_shadow=False, ????????????main_beta=10, ????????????ambient_intensity=0.3, ????????), ????) ????.add( ????????series_name="Scatter3D", ????????data_pair=example_data, ????????type_=ChartType.SCATTER3D, ????????bar_size=1, ????????shading="lambert", ????????label_opts=opts.LabelOpts( ????????????is_show=False, ????????????formatter=JsCode("function(data){return?data.name?+?'?'?+?data.value[2];}"), ????????), ????) ????.set_global_opts(title_opts=opts.TitleOpts(title="Map3D")) ????.render("中國3D地圖.html") )
3.中國3D地圖二
如果說前面的那個你看起來不太舒服,那么這個絕對適合做數(shù)據(jù)可視化展示喲!
from?pyecharts?import?options?as?opts from?pyecharts.charts?import?Map3D from?pyecharts.globals?import?ChartType from?pyecharts.commons.utils?import?JsCode example_data?=?[ ????("黑龍江",?[127.9688,?45.368,?100]), ????("內(nèi)蒙古",?[110.3467,?41.4899,?300]), ????("吉林",?[125.8154,?44.2584,?300]), ????("遼寧",?[123.1238,?42.1216,?300]), ????("河北",?[114.4995,?38.1006,?300]), ????("天津",?[117.4219,?39.4189,?300]), ????("山西",?[112.3352,?37.9413,?300]), ????("陜西",?[109.1162,?34.2004,?300]), ????("甘肅",?[103.5901,?36.3043,?300]), ????("寧夏",?[106.3586,?38.1775,?300]), ????("青海",?[101.4038,?36.8207,?300]), ????("新疆",?[87.9236,?43.5883,?300]), ????("西藏",?[91.11,?29.97,?300]), ????("四川",?[103.9526,?30.7617,?300]), ????("重慶",?[108.384366,?30.439702,?300]), ????("山東",?[117.1582,?36.8701,?300]), ????("河南",?[113.4668,?34.6234,?300]), ????("江蘇",?[118.8062,?31.9208,?300]), ????("安徽",?[117.29,?32.0581,?300]), ????("湖北",?[114.3896,?30.6628,?300]), ????("浙江",?[119.5313,?29.8773,?300]), ????("福建",?[119.4543,?25.9222,?300]), ????("江西",?[116.0046,?28.6633,?300]), ????("湖南",?[113.0823,?28.2568,?300]), ????("貴州",?[106.6992,?26.7682,?300]), ????("廣西",?[108.479,?23.1152,?300]), ????("海南",?[110.3893,?19.8516,?300]), ????("上海",?[121.4648,?31.2891,?1300]), ] c?=?( ????Map3D(init_opts=opts.InitOpts(width="1400px",?height="700px")) ????.add_schema( ????????itemstyle_opts=opts.ItemStyleOpts( ????????????color="rgb(5,101,123)", ????????????opacity=1, ????????????border_width=0.8, ????????????border_color="rgb(62,215,213)", ????????), ????????map3d_label=opts.Map3DLabelOpts( ????????????is_show=False, ????????????formatter=JsCode("function(data){return?data.name?+?"?"?+?data.value[2];}"), ????????), ????????emphasis_label_opts=opts.LabelOpts( ????????????is_show=False, ????????????color="#fff", ????????????font_size=10, ????????????background_color="rgba(0,23,11,0)", ????????), ????????light_opts=opts.Map3DLightOpts( ????????????main_color="#fff", ????????????main_intensity=1.2, ????????????main_shadow_quality="high", ????????????is_main_shadow=False, ????????????main_beta=10, ????????????ambient_intensity=0.3, ????????), ????) ????.add( ????????series_name="數(shù)據(jù)", ????????data_pair=example_data, ????????type_=ChartType.BAR3D, ????????bar_size=1, ????????shading="lambert", ????????label_opts=opts.LabelOpts( ????????????is_show=False, ????????????formatter=JsCode("function(data){return?data.name?+?'?'?+?data.value[2];}"), ????????), ????) ????.set_global_opts(title_opts=opts.TitleOpts(title="城市數(shù)據(jù)")) ????.render("帶有數(shù)據(jù)展示地圖.html") )
看完直呼這個模板,適合做城市之間的數(shù)據(jù)對,同時也展示了經(jīng)緯度。
4.中國3D地圖三
from?pyecharts?import?options?as?opts from?pyecharts.charts?import?Map3D from?pyecharts.globals?import?ChartType c?=?( ????Map3D(init_opts=opts.InitOpts(width="1400px",?height="700px")) ????.add_schema( ????????itemstyle_opts=opts.ItemStyleOpts( ????????????color="rgb(5,101,123)", ????????????opacity=1, ????????????border_width=0.8, ????????????border_color="rgb(62,215,213)", ????????), ????????map3d_label=opts.Map3DLabelOpts( ????????????is_show=True, ????????????text_style=opts.TextStyleOpts( ????????????????color="#fff",?font_size=16,?background_color="rgba(0,0,0,0)" ????????????), ????????), ????????emphasis_label_opts=opts.LabelOpts(is_show=True), ????????light_opts=opts.Map3DLightOpts( ????????????main_color="#fff", ????????????main_intensity=1.2, ????????????is_main_shadow=False, ????????????main_alpha=55, ????????????main_beta=10, ????????????ambient_intensity=0.3, ????????), ????) ????.add(series_name="",?data_pair="",?maptype=ChartType.MAP3D) ????.set_global_opts( ????????title_opts=opts.TitleOpts(title="全國行政區(qū)劃地圖-Base"), ????????visualmap_opts=opts.VisualMapOpts(is_show=False), ????????tooltip_opts=opts.TooltipOpts(is_show=True), ????) ????.render("全國標簽地圖.html") )
5.地球展示
import?pyecharts.options?as?opts from?pyecharts.charts?import?MapGlobe from?pyecharts.faker?import?POPULATION data?=?[x?for?_,?x?in?POPULATION[1:]] low,?high?=?min(data),?max(data) c?=?( ????MapGlobe(init_opts=opts.InitOpts(width="1400px",?height="700px")) ????.add_schema() ????.add( ????????maptype="world", ????????series_name="World?Population", ????????data_pair=POPULATION[1:], ????????is_map_symbol_show=False, ????????label_opts=opts.LabelOpts(is_show=False), ????) ????.set_global_opts( ????????visualmap_opts=opts.VisualMapOpts( ????????????min_=low, ????????????max_=high, ????????????range_text=["max",?"min"], ????????????is_calculable=True, ????????????range_color=["lightskyblue",?"yellow",?"orangered"], ????????) ????) ????.render("地球.html") )
其實pyecharts還可以做百度地圖,可以縮放定位到每一個區(qū)域,但是其實我們在日常生活中可能用不上,如果要用可以去百度地圖展示效果!
以上就是利用Python繪制酷炫的3D地圖的詳細內(nèi)容,更多關(guān)于Python 3D地圖的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python部署chineseocr_lite的實現(xiàn)示例
本文主要介紹了python部署chineseocr_lite的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07Python實現(xiàn)將內(nèi)容轉(zhuǎn)為base64編碼與解碼
這篇文章主要為大家詳細介紹了Python實現(xiàn)將內(nèi)容轉(zhuǎn)為base64編碼與解碼的示例代碼,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2023-02-02淺談Pytorch中的自動求導(dǎo)函數(shù)backward()所需參數(shù)的含義
今天小編就為大家分享一篇淺談Pytorch中的自動求導(dǎo)函數(shù)backward()所需參數(shù)的含義,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python 中 and, or, &, |, ^ 
這篇文章主要介紹了Python 中 and, or, &, |, ^ 的使用小結(jié),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01在Python中使用MySQL--PyMySQL的基本使用方法
PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務(wù)器的一個庫,Python2中則使用mysqldb。這篇文章主要介紹了在Python中使用MySQL--PyMySQL的基本使用,需要的朋友可以參考下2019-11-11使用 Python 處理 JSON 格式的數(shù)據(jù)
JSON 是一個很好的選擇。如果你對 Python 有所了解,就更加事半功倍了。下面就來介紹一下如何使用 Python 處理 JSON 數(shù)據(jù)。感興趣的朋友跟隨小編一起看看吧2019-07-07Python辦公自動化之自動化清理數(shù)據(jù)和自動化系統(tǒng)命令詳解
這篇文章主要為大家詳細介紹了Python辦公自動化中自動化清理數(shù)據(jù)和自動化系統(tǒng)命令的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下2024-01-01