python画地球仪_如何用 Python 制作地球仪?

Python 功能真的很强,强大到让人吃惊,它能做的事囊括爬虫、数据分析、数据可视化、游戏等等各方面,这些功能在实际的使用中应用广泛,开发程序讲究页面的美观与炫酷效果, 今天的文章将给各位读者朋友们带来不一样的视觉盛宴,感兴趣的朋友欢迎一起尝试。

pyecharts 功能很强大,只需要导入相应的模块就配置相应的选项即可生成对应的超文本文件,使用浏览器访问即可!具体实例请见下文

盛宴1-2D世界地图

先来个 2D 的瞅瞅~

python画地球仪_如何用 Python 制作地球仪?_第1张图片

世界地图

实现代码如下:

from pyecharts import options as optsfrom pyecharts.charts import Mapfrom pyecharts.faker import Fakerc = (Map(init_opts=opts.InitOpts(width='1500px', height='1200px',bg_color='#E0EEEE'))# 加载世界地图实例.add("世界地图", [list(z) for z in zip(Faker.country, Faker.values())], "world")# 不显示地图标志.set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(# 配置项标题设置title_opts=opts.TitleOpts(title="世界地图示例"),visualmap_opts=opts.VisualMapOpts(max_=200))# 生成超文本文件.render("world_map.html"))

盛宴2-中国3D地图

通过导入 Map3D 等实现中国地图的 3D 呈现:

中国地图

实现代码如下:

from pyecharts import options as optsfrom pyecharts.charts import Map3Dfrom pyecharts.globals import ChartTypec = (Map3D(init_opts=opts.InitOpts(width='1300px', height='1300px',bg_color='#EBEBEB')).add_schema(itemstyle_opts=opts.ItemStyleOpts(color="#CDBA96",opacity=1,border_width=0.8,border_color="rgb(62,215,213)",),map3d_label=opts.Map3DLabelOpts(is_show=True,text_style=opts.TextStyleOpts(color="#104E8B", font_size=16, background_color="rgba(0,0,0,0)"),),emphasis_label_opts=opts.LabelOpts(is_show=True),light_opts=opts.Map3DLightOpts(main_color="#FFEBCD",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="全国行政区划地图"),visualmap_opts=opts.VisualMapOpts(is_show=False),tooltip_opts=opts.TooltipOpts(is_show=True),).render("map3d_china_base.html"))

盛宴3-贵州地图

现在用另一种方式来实现我家乡的地图,一起来一睹为快~

python画地球仪_如何用 Python 制作地球仪?_第2张图片

贵州地图

代码实现如下:

# 写入省份内各地区经纬度example_data = [[[106.70722,26.59820, 1000],[106.63024, 26.64702, 1000]],[[104.83023, 26.59336], [106.92723, 27.72545]],[[105.30504, 27.29847], [107.52034, 26.29322]],[[107.89868, 26.52881], [104.948571, 25.077502]],[[105.9462, 26.25367], [109.18099, 27.69066]],]# 添加 3D 地图c = (Map3D(init_opts=opts.InitOpts(width='1200px', height='1200px')).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=True,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=True),).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,),label_opts=opts.LabelOpts(is_show=True),).set_global_opts(title_opts=opts.TitleOpts(title="Map3D-GuiZhou3D")).render("guizhou_map_3d.html"))

盛宴4-地球村实现

一起来看看旋转的地球吧^^

旋转的地球

实现代码如下:

import pyecharts.options as optsfrom pyecharts.charts import MapGlobefrom pyecharts.faker import POPULATIONdata = [x for _, x in POPULATION[1:]]low, high = min(data), max(data)c = (MapGlobe(init_opts=opts.InitOpts(width='1000px', height='1000px',bg_color='#FFFAFA',)).add_schema().add(maptype="world",series_name="World Population",data_pair=POPULATION[1:],is_map_symbol_show=True,label_opts=opts.LabelOpts(is_show=True),).set_global_opts(title_opts=opts.TitleOpts(title="3D 地球示例"),# 设置地球属性visualmap_opts=opts.VisualMapOpts(min_=low,max_=high,range_text=["max", "min"],is_calculable=True,range_color=["lightskyblue", "yellow", "orangered"],)).render("world_map_3d.html"))

总结

希望今天的分享能给大家带来不一样的视觉享受,同时伙伴们也别忘了要多多实践。实践是检验真理的唯一标准!

参考

[1]http://gallery.pyecharts.org/#/Map3D

8acca911615258812b79711921839466.gif

Python猫技术交流群开放啦!群里既有国内一二线大厂在职员工,也有国内外高校在读学生,既有十多年码龄的编程老鸟,也有中小学刚刚入门的新人,学习氛围良好!想入群的同学,请在公号内回复『

交流群』,获取猫哥的微信

(谢绝广告党,非诚勿扰!)~

感谢创作者的好文

99e702a262a0e9c382ca3939e55177d4.png

你可能感兴趣的:(python画地球仪)