matplotlibのPatchCollectionは子パッチの色を上書きする

matplotlib.patches.Circleのオプション引数fillが機能していない疑惑」の解決編

PatchCollectionはデフォルトでCircleなどのパッチで指定した色を上書きしてしまう。

Definition:PatchCollection(self, patches, match_original=False, **kwargs)
(snip)    
    *match_original*
        If True, use the colors and linewidths of the original
        patches.  If False, new colors may be assigned by
        providing the standard collection arguments, facecolor,
        edgecolor, linewidths, norm or cmap.

これが僕のつまずいた「CircleのfillにFalseを指定したのに反映されない!なぜか青く塗られた丸が出る!」という現象の原因だった。PatchCollectionにfacecolor="none"を指定すれば塗りをなしにすることができる。(Noneではなく文字列の"none"であることに注意。thanks: hoge)

わーい等高線が描けたー