相关疑难解决方法(0)

在matplotlib中添加colorbar时的AttributeError

以下代码无法在Python 2.5.4上运行:

from matplotlib import pylab as pl
import numpy as np

data = np.random.rand(6,6)
fig = pl.figure(1)
fig.clf()
ax = fig.add_subplot(1,1,1)
ax.imshow(data, interpolation='nearest', vmin=0.5, vmax=0.99)
pl.colorbar()

pl.show()
Run Code Online (Sandbox Code Playgroud)

错误消息是

C:\temp>python z.py
Traceback (most recent call last):
  File "z.py", line 10, in <module>
    pl.colorbar()
  File "C:\Python25\lib\site-packages\matplotlib\pyplot.py", line 1369, in colorbar
    ret = gcf().colorbar(mappable, cax = cax, ax=ax, **kw)
  File "C:\Python25\lib\site-packages\matplotlib\figure.py", line 1046, in colorbar
    cb = cbar.Colorbar(cax, mappable, **kw)
  File "C:\Python25\lib\site-packages\matplotlib\colorbar.py", line 622, in __init__
    mappable.autoscale_None() # Ensure mappable.norm.vmin, vmax
AttributeError: …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

36
推荐指数
2
解决办法
4万
查看次数

在 Geopandas 中编辑颜色条(图例)?

在我正在创建的 geopandas 世界 choropleth 中,我想用颜色条编辑多项内容。即大小(使其与地图本身大致匹配)、文本大小(当前显示太小),我还想为其添加标签。从阅读中似乎没有简单的方法可以在 geopandas 中明确地做到这一点,所以我想知道是否有人可以提供任何解决方法?任何帮助将不胜感激。

这是我目前正在使用的一段代码(在某些情况下,中间部分只是将列表与按国家/地区划分的数字合并到框架中,我将其用作着色的基础)

fig, ax = plt.subplots(figsize=(40,29.171))
world = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))

world=pd.DataFrame(world)
world['LEADS']=0.1
world = world.set_index('name')
world['name']=world.index
for x, y in zip(Countries, country_counts):
    world.loc[x, 'LEADS'] = y
world=geopandas.GeoDataFrame(world)

world = world[(world.index != "Antarctica")]
ax.set_axis_off()
#ax.legend(title="Leads")
world.plot(ax=ax, column='LEADS', cmap='Oranges', legend=True,linewidth = 1.5)
plt.tight_layout()

plt.savefig('plot_image.png', bbox_inches='tight', transparent=True)
Run Code Online (Sandbox Code Playgroud)

这里的理想解决方案是保持图例选项具有的颜色,指定大小和文本大小并在栏顶部启用标签。不幸的是,我正在努力弄清楚这些是如何完成的。

python visualization pandas geopandas choropleth

3
推荐指数
2
解决办法
4427
查看次数