Ken*_*nny 6 python maps plot visualization
我尝试在真实地图上显示数据(数据应该在加拿大安大略省内):我有一个包含两列的 .csv 文件,A 和 B,A 是邮政编码,B 是其关联值(整数,1 到 5) ,我想找到 A 映射到的区域并根据关联值为其着色。例如。邮政编码 P0G、P0A(加拿大邮政编码的前 3 位数字,代表一个区域)与关联值 2 和 5,我想在真实的这两个区域上显示不同的颜色(可能 2 为绿色,5 为红色)地图。
我不知道该怎么做,也许使用Python或一些网站服务或一些API?我以前没有在真实地图上可视化数据的经验。
我上面描述的问题是一个简化版本。实际问题有更多列(域),每一行一个邮政编码,我需要|domains|为每个域生成一定数量的图表/地图。但我想一旦我知道如何做一个领域,那么我应该能够做所有的事情。
我尝试使用一些在线分析工具,例如 SimplyAnalytics,但没有弄清楚如何同时显示具有不同颜色的多个区域。我尝试搜索类似的问题,但似乎由于最终目标和数据格式不同,因此代码/方法的更改可能会有很大差异。
谢谢!!!
一些示例数据将是:

如果你想用 python 来做,你可以使用 geopandas 库。下面是一个示例代码(Github Gist)。首先,我们需要获取定义每个邮政编码区域(正向分拣区域)的 shapefile(链接)。然后过滤安大略省的邮政编码并将其与您要绘制的数据连接起来。
import geopandas
import pandas as pd
import pandas_bokeh
import matplotlib.pyplot as plt
pandas_bokeh.output_notebook()
canada = geopandas.read_file("./gfsa000b11a_e.shp")
ontario = canada[canada['PRUID'] == '35']
# Sample data to plot
df=pd.DataFrame({'PCODE': ['P0V','P0L','P0T','P0Y', 'P0G', 'P2N'], 'A':[6,3,5,2,2,4] })
# Join ontario dataset with sample data
new_df=ontario.join(df.set_index('PCODE'), on='CFSAUID')
new_df.plot_bokeh(simplify_shapes=20000,
category="A",
colormap="Spectral",
hovertool_columns=["CFSAUID","A"])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11191 次 |
| 最近记录: |