2017-06-15 1 views
1

私はシェープファイルからPythonで階級区分図をプロットしていますを使用して表形式の伝説を作るために、私が怒鳴るのコードを使用しています、プロットの凡例をカスタマイズします凡例を視覚化するために私がここで見つけた小さなパッチを使用しています。http://nbviewer.ipython.org/gist/jorisvandenbossche/d4e6efedfa1e4e91ab65はどのようにmatplotlibのとのpython

enter image description here

はので、私の質問は、今、私は

答えて

1

あなたが使用することができ、カスタマイズの伝説を持つことができる方法である:私はこれに似た何かが必​​要、 enter image description here しかし:ここ

は私の結果です凡例として plt.table

enter image description here

import matplotlib.pyplot as plt 
import numpy as np 

valeur = np.array([.1,.45,.7]) 
text=[["Faible","Ng<1,5" ],["Moyenne","1,5<Ng<2,5"],[u"Elevée", "Ng>2,5"]] 
colLabels = ["Exposition", u"Densité"] 


tab=plt.table(cellText=text, colLabels=colLabels, 
        colWidths = [0.2,0.2], loc='lower right', 
        cellColours=plt.cm.hot_r(np.c_[valeur,valeur])) 

plt.show() 

contourfプロットにこのテーブルをリンクするために、次のように行うことがあります。

from matplotlib import pyplot as plt 
import numpy as np 

a = np.sort(np.random.rand(100)).reshape(10,10)*4 

levels = np.array([0,1.5,2.5,4]) 
sm = plt.contourf(a, levels = levels, cmap=plt.cm.hot_r) 


text=[["Faible","Ng<1,5" ],["Moyenne","1,5<Ng<2,5"],[u"Elevée", "Ng>2,5"]] 
colLabels = ["Exposition", u"Densité"] 

col = levels[:-1] + np.diff(levels)/2. 
cellcol = sm.cmap(sm.norm(np.c_[col,col])) 

tax = plt.gcf().add_axes([0,0,1,1]) 
tab=tax.table(cellText=text, colLabels=colLabels, 
        colWidths = [0.2,0.2], loc='lower left', 
        cellColours=cellcol) 

tax.axis("off") 
plt.show() 

enter image description here

+0

あなたが言ったように私がやったが、それはそこのようなものですマップとテーブルの間にリンクがありません。デフォルトの色のマップが表示され、下部には、コード化されたテーブルがあります。 –

+0

凡例がコンタープロットから色を使用するように答えを更新しました。 – ImportanceOfBeingErnest

+0

よく、あなたの助けに感謝しますが、私はcontourfプロットを使用していない、それはchoroplethマップだと私はこれを使用しています:ax = plot_dataframe(tracts、列= '密度'、スキーム= 'QUANTILES'、k = colormap = plt.cm.Blues、legend = True)、データフレームは 'levels'をサポートしていません。 –