Вам необходимо вызвать plt.figure()
, прежде чем вызывать любую функцию рисования. Итак, перед вызовом v = venn2(...
.
plt.figure()
создает новую область для рисования или построения чего-либо и может обрабатывать множество параметров. Если вы не вызываете plt.figure()
или какую-либо эквивалентную функцию, matplotlib создает значение по умолчанию figure
. И когда вы позвоните plt.figure()
позже, matplotlib начнет новый пустой figure
. Обычно matplotlib покажет вам два windows: первый с настройками по умолчанию figure
, а второй без графика.
Полный пример, немного переписанный для использования циклов, будет выглядеть так: :
from matplotlib import pyplot as plt
from matplotlib_venn import venn2, venn2_circles
plt.figure(linewidth=10, edgecolor="black", facecolor="white")
# Call 2 group Venn diagram
v = venn2(subsets=(10, 0, 5), set_labels=('Euler', 'Venn'))
circles = venn2_circles(subsets=(10, 0, 5), linestyle='dashed')
# circle format
for circle, color in zip(circles, ['#a6cee3', '#b2df8a']):
circle.set_lw(2.0)
circle.set_ls('dotted')
circle.set_alpha(1)
circle.set_color(color)
# hide unwanted labels
for label in v.subset_labels:
label.set_visible(False)
plt.title("Diagrams")
plt.show()