1

私はこの例、Python Mapping in Matplotlib Cartopy Color One Country に従っています。米国、フランス、英国、日本など、いくつかの国と完全に連携しています。

for country in countries:
    if country.attributes['adm0_a3'] == 'USA':
        ax.add_geometries(country.geometry, ccrs.PlateCarree(),
                          facecolor='#008744', alpha = 0.5,
                          label=country.attributes['adm0_a3']),

    if country.attributes['adm0_a3'] == 'FRA':
        ax.add_geometries(country.geometry, ccrs.PlateCarree(),
                          facecolor='#008744', alpha = 0.5,
                          label=country.attributes['adm0_a3']),
+ 'GBR'
+ 'JPN'

else:
    ax.add_geometries(country.geometry, ccrs.PlateCarree(),
                      facecolor=('#c4e6ff'),
                      label=country.attributes['adm0_a3'])

ステートメントを何度も繰り返すのではなく、国のリストを 1 行にまとめたいと思います。

私は試した:

if country.attributes['adm0_a3'] == ['USA', 'FRA', 'GBR', 'JPN']:

any('USA, 'FRA', 'GBR', 'JPN')

['USA or 'FRA' or 'GBR' or'JPN']

そして口述:

myDict = {'USA', 'FRA', 'GBR', 'JPN'}
if country.attributes['adm0_a3'] == myDict:

明らかに、私はロジックを完全に正しく理解していません。

4

1 に答える 1