Вот

ей проблемой являются нежелательные белые линии междуmatplotlib объекты, нарисованные сPatch, а такжеpcolor, pcolormesh (увидетьcontourfэта тема для первых двух иэта тема для последнего).Я попытался исправить это автоматически, добавив

новые методы к моему экземпляры класса / подкласса, использующиеAxes, я сделаю этоMethodTypeвместо подклассов просто потому, что я хочу генерировать передавая кусочкиAxes возражает противGridSpec метод наadd_subplot экземпляр, и яFigureне знают о том, как я мог бы сделать это с каким-то подклассом (но я приветствую совет). Вот пример кода ...matplotlib.axes.SubplotВ последней строке я бы предпочел уметь писать

from types import MethodType
import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec
f = plt.figure()
gs = GridSpec(2,1)
ax = f.add_subplot(gs[0,0])
def _pcolormesh(self, *args, **kwargs):
    p = self.pcolormesh(*args, **kwargs)
    p.set_edgecolor('face')
    p.set_linewidth(0.2) # will cover white lines, without making dot in corner of each square visible
    return p
def _contourf(self, *args, **kwargs):
    c = self.contourf(*args, **kwargs)
    for _ in c.collections:
        _.set_edgecolor('face')
    return c
ax.mypcolormesh = MethodType(_pcolormesh, ax)
ax.mycontourf = MethodType(_contourf, ax)

вместоax.pcolormesh , но это поднимает ax.mypcolormesh так какRecursionError вызывает оригинальное имя метода ... который теперь является псевдонимом для себя._pcolormeshИтак, как я могу получить доступ к методу на этом

 Например, переопределить его и сохранить исходное имя?AxesТаким образом, исправление исходной проблемы состоит из 2 строк, и чтобы сделать это «проще», вы добавляете 6 строк ?! Кажется, не имеет большого смысла для меня.

Ответы на вопрос(2)

Ваш ответ на вопрос