2017-07-11 16 views
1

で私は%inlineを使用して、Jupyterノートブックで、2.0.2をmatplotlibの、geopandas 0.2.1(次のコードを使用してchoroplethとしてGeoDataFrameをプロットしました:アップデートパッチエッジの色Geopandasプロット

fig, ax = plt.subplots(
    1, 
    figsize=(16., 12.), 
    dpi=100, 
    subplot_kw=dict(aspect='equal'), 
) 

base = imd_gdf.dropna().plot(
    ax=ax, 
    alpha=1., 
    column="Rental_Count", 
    scheme="fisher_jenks", 
    k=7, 
    cmap="viridis", 
    linewidth=0.1, 
    edgecolor='black', 
    legend=True, 
) 

私にポリゴンの周りのエッジを持つマップを与える:

:。

enter image description here

私はこれまでのところ、私は顔の色にエッジの色を設定し、パッチを巡回しようとしたこれらを削除したいです

for p in ax.patches: 
    nc = p.get_facecolor() 
    p.set_edgecolor(nc) 

しかし、私はループ内に単一の色を指定しても効果はありません。 p.set_color(nc)のいずれか、またはp.set_linewidth(0.0)を使用して線幅を0に設定しようとしても効果はありません。 私はここで何が欠けていますか? p.set_facecolor('white')を使用して同じ方法で、顔の色を更新すると、正常に動作します:

enter image description here

+0

元の 'plot'メソッドの呼び出しで、エッジカラーを文字列' 'none ''に設定するとどうなりますか? –

+0

@PaulHを 'none'に設定すると、エッジが白く描画されます – urschrei

答えて

1

だから、plot()は、ラインオブジェクトのコレクションを描くことが判明(AxesSubplotlines財産、彼らはlines.Line2Dしている)を表しています実際のエッジ。 を更新すると、エッジの外観を完全に制御したい場合は、パッチのエッジプロパティ(AxesSubplot.patches)が必要です。

関連する問題