Я пытаюсь оживить сюжет геопанды, используя FuncAnimation. По сути, eu_private_map является геопандасом.geodataframe.GeoDataFrame и среди других полей содержит несколько столбцов со значениями параметра x в разных государствах ЕС в течение 10 лет подряд. В каждом столбце указаны значения х за один год.
from matplotlib.animation import FuncAnimation
from IPython.display import HTML
from mpl_toolkits.axes_grid1 import make_axes_locatable
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
def animate(year):
ax1.clear()
my_map = eu_private_map.plot(ax=ax1, column=year, vmin=0, vmax=30, legend=False)
divider = make_axes_locatable(ax1)
cax = divider.append_axes("right", size="5%", pad=0.05)
plt.colorbar(my_map, cax=cax)
# the FuncAnimation function iterates through our animate function using the steps array
years = eu_private.columns.drop('country').tolist()
ani = FuncAnimation(fig, animate, years, interval=1000, blit=False)
HTML(ani.to_jshtml())
Цветная полоса доставляет мне неприятности. С одной стороны, если я устанавливаю legend = True, мне не нравится тот факт, что он не имеет такой же размер (см. Рисунок), как на рисунке, и это создает странный эффект (см. Рисунок). Я попытался this , но получил ошибку: AttributeError: объект 'AxesSubplot' не имеет атрибута 'autoscale_None'. Однако я не могу определить проблему в коде, какую-либо помощь, чтобы исправить обе проблемы одновременно? Большое спасибо