经纬度画轨迹图_实战Python制作炫酷的个人3D动态足迹图
生活随笔
收集整理的這篇文章主要介紹了
经纬度画轨迹图_实战Python制作炫酷的个人3D动态足迹图
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天給大家帶來一篇3D個人足跡圖制作教程,先看看成果圖:
下面給大家詳細介紹一下制作步驟:
一、準備足跡城市數據
因為本次用pyecharts畫3D足跡圖的數據接口是列表形式:
所以我們要把城市的經緯度信息找出來,如果城市比較少可以手動搜索填寫,如果城市比較多的話可以做個小爬蟲程序,這里給大家推薦1個數據接口
https://apis.map.qq.com/jsapi?qt=geoc&addr=城市名字&key=UGMBZ-CINWR-DDRW5-W52AK-D3ENK-ZEBRC&output=jsonp&pf=jsapi&ref=jsapi返回數據如下:
我們可以先把足跡城市放入csv表格中:
import?requestsimport?csv
import?json
city_points=[]
with?open('足跡城市.csv','r')?as?f:
????city=csv.reader(f)
????for?i?in?city:
????????city_point?=?[]
????????for?j?in?i:
????????????url='https://apis.map.qq.com/jsapi?qt=geoc&addr={0}'?\
????????????????'&key=UGMBZ-CINWR-DDRW5-W52AK-D3ENK-ZEBRC&output=jsonp&pf=jsapi&ref=jsapi'.format(j)
????????????response=requests.get(url)
????????????text=json.loads(response.text)
????????????city_point.append([text['detail']['pointx'],text['detail']['pointy']])
????????city_points.append(city_point)
可以返回足跡城市的經緯度數據,直接用于該3D足跡圖數據接口
二.畫3D足跡圖
畫足跡圖代碼如下:
c?=?(????Map3D()
????.add_schema(
????????itemstyle_opts=opts.ItemStyleOpts(
????????????color="rgb(72,61,139)",????????#地圖背景顏色
????????????opacity=100,???????????????????#圖形透明度
????????????border_width=0.8,??????????????#邊界寬度
????????????border_color="rgb(80,100,0,0)",#邊界顏色
????????),
????????map3d_label=opts.Map3DLabelOpts(
????????????is_show=True,??????????????????#顯示各省名字
????????????text_style=opts.TextStyleOpts(
????????????????color="?#DC143C",?font_size=9,?background_color="rgba(75,0,130,0)"
????????????),
????????),
????????light_opts=opts.Map3DLightOpts(
????????????main_color="#fff",????????????#主光源的顏色
????????????main_intensity=1.2,???????????#主光源的強度
????????????is_main_shadow=True,??????????#是否投射陰影
????????????main_alpha=55,????????????????#主光源上下旋轉角度
????????????main_beta=10,?????????????????#主光源左右旋轉角度
????????????ambient_intensity=0.3,????????#環境光的強度
????????),
????)
????.add(
????????series_name="",
????????data_pair=city_data,???#足跡城市經緯度數據
????????type_=ChartType.LINES3D,??#地圖類型
????????effect=opts.Lines3DEffectOpts(???#軌跡特效設置
????????????is_show=True,
????????????period=8,????????????#尾跡特效的周期
????????????trail_width=8,???????#尾跡特效的寬度
????????????trail_length=1,??????#尾跡特效的長度
????????????trail_color="#DC143C",??#尾跡特效的顏色
????????????trail_opacity=1,?????#尾跡特效的不透明度
????????????constant_speed=8
????????),
????????linestyle_opts=opts.LineStyleOpts(is_show=True,?color="#3CB371",?opacity=0.5),??#軌跡特效實線設置,設置透明度opacity為0.5
????)
????.set_global_opts(title_opts=opts.TitleOpts(title="3D足跡城市圖"))
)
c.render_notebook()
根據讀者朋友要求,我把畫圖過程中的注釋都加上了,方便理解,大家可以根據自己的愛好調整圖形效果。
完整代碼:
鏈接:https://pan.baidu.com/s/1PTiQSufY5v5aCXzAs9b2DQ
提取碼:2b8c
總結
以上是生活随笔為你收集整理的经纬度画轨迹图_实战Python制作炫酷的个人3D动态足迹图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: boot界面上下键调节键不能动_手机音量
- 下一篇: 信息报送不及时整改措施_工商年报如何报送