真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何利用GeoPandas繪制專題圖

小編給大家分享一下如何利用GeoPandas繪制專題圖,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

十載的磴口網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整磴口建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“磴口網(wǎng)站設(shè)計(jì)”,“磴口網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

練習(xí)使用geopandas繪制專題圖,僅供參考。

import pandas as pd
import geopandas as gp
import contextily as ctx
import matplotlib.pyplot as plt
from shapely.geometry import Point
import matplotlib.patches as mpatches
from matplotlib_scalebar.scalebar import ScaleBar

chi=gp.read_file("population_data/chi_shp/省.shp").to_crs(epsg=3415)
nine_lines = gp.read_file('population_data/chi_shp/chi_nine_dotted_line.shp',encoding='utf-8')

tai=gp.read_file("population_data/chi_shp/省.shp")
tai=tai[tai['省'].isin(['臺(tái)**'])].to_crs(epsg=3415)

fig=plt.figure(figsize=(8,8)) #設(shè)置畫布大小
ax = plt.gca()
ax.set_title(chi.columns.values[1],fontsize=14,loc="left")

# 主圖繪制
chi.plot(ax=ax,color='#E24A33',column="需要繪制的數(shù)據(jù)列名稱",edgecolor='grey',linewidth=0.5,
legend=True,
legend_kwds={
  'labels':['a','v'],
  'loc': 'lower left',
  'title': 'Title',
  'shadow': False,
  'fontsize':8,
  'frameon':False,
  'prop':{'family': 'Times New Roman', 'weight': 'normal', 'size': 12}})

# 添加九**
nine_lines.geometry.to_crs(epsg=3415).plot(ax=ax,
                                            edgecolor='black',
                                            linewidth=2,
                                            alpha=0.5)
# 添加臺(tái)**
tai.to_crs(epsg=3415).plot(ax=ax,hatch= "http:////",label= "缺失值",facecolor='lightgrey')

# 設(shè)置繪圖顯示范圍
ax.set(ylim=(-0.3*10**6,4.5*10**6))

# 自定義圖例文字
#     get all the legend labels
# legend_labels = ax.get_legend().get_texts()

# bounds=['q','a']
# # replace the legend labels
# for bound, legend_label in zip(bounds, legend_labels):
#     legend_label.set_text(bound)

# leg = ax.get_legend()
# leg.set_title('Percentage Error (%)',prop={'family': 'Times New Roman', 'weight': 'normal', #'size': 12})

# 副圖框繪制
ax_child = fig.add_axes([0.75, 0.20, 0.15, 0.15]) # left, bottom, width, height

chi.plot(ax=ax_child,color='#E24A33',edgecolor='grey',linewidth=0.5)
chi.plot(ax=ax_child,color='#348ABD',edgecolor='grey',linewidth=0.5)

ax_child = nine_lines.geometry.to_crs(epsg=3415).plot(ax=ax_child,
                                                  edgecolor='black',
                                                  linewidth=2,
                                                  alpha=0.5)
tai.to_crs(epsg=3415).plot(ax=ax_child,hatch= "http:////",label= "缺失值",facecolor='lightgrey')

ax_child.set(xlim=(-0.5*10**6,1.5*10**6),ylim=(-1.5*10**6,0.8*10**6))

ax_child.set_xticks([])
ax_child.set_yticks([])

# 添加省市名稱注記
# texts=chi.apply(lambda x: ax.annotate(s=x['省'], xy=x.geometry.centroid.coords[0], va='center'
#                                                    ,fontsize=10,arrowprops=dict(arrow, 
                                                     color='k', lw=0.5)), axis=1)
# adjust_text(texts)

# 額外圖例繪制
p1=gp.GeoDataFrame({'geometry':[Point(-1.60*10**6,-0.1*10**6)]})
p1.plot(ax=ax,markersize=100,facecolor='lightgrey',hatch= "http:////")
ax.text(-1.54*10**6,-0.15*10**6, "NoData",{'family': 'Times New Roman', 'weight': 'normal', 'size': 12})

# 圖例操作
LegendElement = [
                 mpatches.Patch(facecolor='#E24A33', 
                                linestyle='--', 
                                linewidth=1.2,
                                label='1'),
                 mpatches.Patch(facecolor='#348ABD',
                                linestyle='--',
                                linewidth=1.2,
                                label='2')
                ]
ax.legend(handles = LegendElement, loc='lower left',prop={'family': 'Times New Roman', 'weight': 'normal', 'size': 12},frameon=False,shadow=False)


# 添加比例尺
scalebar = ScaleBar(dx=1*10**-3,units='km',length_fraction=0.1,
                    font_properties={'family': 'Times New Roman', 'weight': 'normal', 'size': 12},
                    location=8,sep=1,frameon=False)
ax.add_artist(scalebar)

# 添加指北針
x, y, arrow_length = 0.42, 0.09, 0.07
ax.annotate('N', xy=(x, y), xytext=(x, y-arrow_length),
            arrowprops=dict(facecolor='black', width=4, headwidth=7),
            ha='center', va='center', fontsize=10,
            xycoords=ax.transAxes)
# 添加底圖
# ctx.add_basemap(ax,crs="epsg:3415",source=ctx.providers.OpenStreetMap.Mapnik(apiKey="*"))
# ctx.add_basemap(ax_child,crs="epsg:3415",source=ctx.providers.OpenStreetMap.CH(apiKey="*"))

# 設(shè)置刻度
# ax.set_axis_off()    
# ax_child.set_axis_off()
ax.set_xticks([])
ax.set_yticks([])

# 保存地圖
# plt.savefig("filename",dpi=600,bbox_inches='tight')

輸出圖大致如下所示:

如何利用GeoPandas繪制專題圖

以上是“如何利用GeoPandas繪制專題圖”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


文章名稱:如何利用GeoPandas繪制專題圖
當(dāng)前地址:http://weahome.cn/article/psiihi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部