matplotlib用show()画图,show()这句后面的内容不运行了,这个咋办?

代码如下,书中抄下来的

from random_walk import RandomWalk
import matplotlib.pyplot as plt

while True:
    rw = RandomWalk()
    rw.fill_walk()

    """渐变色"""
    point_numbers = list(range(rw.num_point))
    plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Reds,
                edgecolors='none', s=2)
    # plt.scatter(rw.x_values, rw.y_values, s=0.8)

    """突出起点和终点"""
    plt.scatter(0, 0, c='green', edgecolors='none', s=20)
    plt.scatter(rw.x_values[-1], rw.y_values[-1], c='blue', edgecolors='none', s=20)

    plt.show()

    keep_running = input("Make another walk?(y/n):")
    if keep_running == 'n':
        break

这个你只有把上幅图关闭后,才能运行后续部分

后面必须停顿一下 就像C中的getchar()一下

在pycharm里你可以把之前生成图的程序注释掉,生成新的图的同时,老图的历史依旧在