График рассеивания matplotlib меняет ось другого участка

Я хочу объединить contourf() график scatter() от matplotlib.pyplot , однако добавление графика рассеяния изменяет ось графика. Вот небольшой пример:

 from matplotlib import pyplot as plt import numpy as np data = np.random.rand(10,10) plt.contourf(data) # plt.scatter(3, 7, s=200, color='k') plt.show() 

Этот скрипт создает какой-то сюжет вроде этого:

без разброса ()

При раскомметке plt.scatter(3, 7, s=200, color='k') пределы оси изменяются, что приводит к белой рамке вокруг контура. Возможность вручную установить пределы оси с помощью plt.xlim и plt.ylim , но это кажется ненужным хлопот. Как я могу элегантно сделать эту работу?

с разбросом ()

Добавить

 plt.xlim(auto=False) plt.ylim(auto=False) 

прямо после линии countorf ; или вы всегда можете сделать

 xl, yl = plt.xlim(), plt.ylim() 

в любом месте вашего кода, которым вы довольны x,y ограничениями, а затем в конце дела

 plt.xlim(xl) plt.ylim(yl)