Python 巨蟒叶脉络图

Python 巨蟒叶脉络图,python,json,folium,Python,Json,Folium,我正在尝试使用geojson数据文件绘制英国的choropleth图,我从这里下载: 下面是json数据的一个示例: { "type":"FeatureCollection", "features":[ { "type":"Feature", "properties":{"objectid":1,"rgn16cd":"E12000001","rgn16nm":"North East","bng_e":417313,"bng_n":600358,"long"

我正在尝试使用geojson数据文件绘制英国的choropleth图,我从这里下载:

下面是json数据的一个示例:

{
  "type":"FeatureCollection",
  "features":[
    {
      "type":"Feature",
      "properties":{"objectid":1,"rgn16cd":"E12000001","rgn16nm":"North East","bng_e":417313,"bng_n":600358,"long":-1.72889996,"lat":55.2970314,"st_areashape":8675727008.425964,"st_lengthshape":795456.8022925043},
      "geometry":{
        "type":"MultiPolygon",
        "coordinates":[[[[-2.0301237629331097,55.80991509288915],[-2.030069429494278,55.80991420787532],[-2.0300215494803053,55.80992140589199],[-2.0300040593387223,55.80993039246682],
我的csv文件如下所示:

我基本上只想用folium来绘制出租车专栏

问题是情节没有显示任何东西。我使用了以下代码

import pandas as pd
import os
import json

# read in population data
df = pd.read_csv('map-data.csv')

import folium
from branca.utilities import split_six
state_geo = 'Regions_December_2016_Full_Extent_Boundaries_in_England.geojson'

m = folium.Map(location=[55, 4], zoom_start=5)
m.choropleth(
    geo_data=state_geo,
    data=df,
    columns=['LA-Code', 'Taxi'],
    key_on='feature.properties.rgn16cd',
    fill_color='YlGn',
    fill_opacity=0.7,
    line_opacity=0.2,
    legend_name='h',
    highlight=True
)

m
我认为这个问题与争论的关键有关。 我可以使用如下方式访问json文件中的正确代码:

geodata['features'][0]['properties']['rgn16cd']
这给了我正确的LA代码(E12000001),但似乎不是 在上面的代码中工作。我还尝试在key_on参数中使用features而不是feature,但这给了我一个错误

AttributeError:“非类型”对象没有属性“get”

有人知道问题出在哪里吗?谢谢。

来自:

要在Jupyter笔记本中显示,只需询问对象表示:

In:m

你的问题很可能是因为你不在木星笔记本上。将地图另存为html文件并在浏览器中打开可以正常工作,而无需更改json文件。请尝试以下代码:

import pandas as pd
import folium

# read in population data
df = pd.read_csv('map-data.csv')
state_geo = 'Regions_December_2016.geojson'


m = folium.Map(location=[55, 4], zoom_start=5)
m.choropleth(
    geo_data=state_geo,
    data=df,
    columns=['LA-Code', 'Taxi'],
    key_on='feature.properties.rgn16cd',
    fill_color='YlGn',
    fill_opacity=0.7,
    line_opacity=0.2,
    legend_name='h',
    highlight=True
)

m.save("my_map.html")
要从脚本中打开地图,可以通过
子流程调用
操作系统调用web浏览器,方法是在脚本末尾添加以下行:

import os
os.system("firefox my_map.html")