Построение двух наборов данных круга на одной фигуре - PullRequest
0 голосов
/ 23 октября 2019

Я хочу создать код, который помещает два графика друг на друга, но вместо этого я получаю два отдельных графика: Мой код выглядит следующим образом:

fig, ax = plt.subplots()
for i in range(len(list_of_disks)):
    circle1 = plt.Circle((list_of_disks[i].x, list_of_disks[i].y), radius)
    plt.xlim(0,1)
    plt.ylim(0,1)
    plt.grid(linestyle='--')
    ax.add_artist(circle1)
plt.show()

if len(percolated_cluster) != 0:
    fig, ax = plt.subplots()
    for i in range(len(percolated_cluster[0])):
        circle1 = plt.Circle((percolated_cluster[0][i].x, percolated_cluster[0][i].y), radius, color = 'red')
        plt.xlim(0,1)
        plt.ylim(0,1)
        plt.grid(linestyle='--')
        ax.add_artist(circle1)
    plt.show()

Но когда я запускаю программу, я получаюдве цифры, а не одна, на которой нанесены оба набора данных. Как бы убедиться, что оба набора данных нанесены на один график. Для справки я получаю следующее на двух отдельных экранах:

enter image description here

Но все равно, что оба набора данных будут отображаться вместе.

1 Ответ

0 голосов
/ 23 октября 2019

Вы должны указать количество столбцов на вашем графике:

fig, ax = plt.subplots()
for i in range(len(list_of_disks)):
    circle1 = plt.Circle((list_of_disks[i].x, list_of_disks[i].y), radius)
    ax.xlim(0,1)
    ax.ylim(0,1)
    ax.grid(linestyle='--')
    ax.add_artist(circle1)

if len(percolated_cluster) != 0:
    for i in range(len(percolated_cluster[0])):
        circle1 = plt.Circle((percolated_cluster[0][i].x, percolated_cluster[0][i].y), radius, color = 'red')
        ax.grid(linestyle='--')
        ax.add_artist(circle1)
plt.show()

Полезная ссылка: https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.subplots.html

...