700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python三维图能画地图_Python数据可视化:3D动态图 让你的足迹实现在地图上

python三维图能画地图_Python数据可视化:3D动态图 让你的足迹实现在地图上

时间:2018-07-25 02:06:49

相关推荐

python三维图能画地图_Python数据可视化:3D动态图 让你的足迹实现在地图上

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以下文章来源于python数据分析之禅 ,作者小dull鸟

今天给大家带来一篇3D个人足迹图制作教程,先看看成果图:

下面给大家详细介绍一下制作步骤:

一、准备足迹城市数据

因为本次用pyecharts画3D足迹图的数据接口是列表形式:

所以我们要把城市的经纬度信息找出来,如果城市比较少可以手动搜索填写,如果城市比较多的话可以做个小爬虫程序,这里给大家推荐1个数据接口

https://apis./jsapi?qt=geoc&addr=城市名字&key=UGMBZ-CINWR-DDRW5-W52AK-D3ENK-ZEBRC&output=jsonp&pf=jsapi&ref=jsapi

返回数据如下:

我们可以先把足迹城市放入csv表格中:

importrequestsimportcsvimportjson

city_points=[]

with open('足迹城市.csv','r') as f:

city=csv.reader(f)for i incity:

city_point=[]for j ini:

url='https://apis./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()

根据读者朋友要求,我把画图过程中的注释都加上了,方便理解,大家可以根据自己的爱好调整图形效果。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。