1. 窗口修改代码
# 修改窗口尺寸和分辨率,dpi分辨率,figsize窗口尺寸,元组对应单位英寸(这段代码不能放到后面,因为放到后面点数都已绘制了,窗口
# 绘制也没有了)
plt.figure(dpi=128, figsize=(10, 6))
2. 窗口代码放到了点数绘制的后面:
import matplotlib.pyplot as plt
from random_walk import RandomWalk
# 只要程序处于活动状态,就不断模拟随机漫步
while True:
# 创建一个randomwalk的实例,并将包含的点绘制出来
# RandomWalk(50000),用来增加点数
rw = RandomWalk(50000)
rw.fill_walk()
# 漫步中的点是有先后顺序的,按先后顺序给点着色,参数设置5000的列表,按先后顺序绘制颜色映射
point_numbers = list(range(rw.num_points))
plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Blues, edgecolors='none', s=1)
plt.xlabel("x_values", fontsize=14)
plt.ylabel("y_values", fontsize=14)
plt.title("random_walk", fontsize=20)
# 重新绘制起点和终点,突出起点和终点
plt.scatter(0, 0, c='green', edgecolors='none', s=100)
plt.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none', s=100)
# 隐藏坐标轴
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)
# 修改窗口尺寸和分辨率,dpi分辨率,figsize窗口尺寸,元组对应单位英寸(这段代码不能放到后面,因为放到后面点数都已绘制了,窗口
# 绘制也没有了)
plt.figure(dpi=128, figsize=(10, 6))
plt.show()
keep_running = input("Make another walk?(y/n):")
if keep_running == 'n':
break
运行结果:
figure_1:
figure_2:因为你将窗口修改的代码放到了程序的后面,使得本身的数据点绘制已经结束了,你重新绘制了一个空的窗口而已
3. 正确代码及结果
import matplotlib.pyplot as plt
from random_walk import RandomWalk
# 只要程序处于活动状态,就不断模拟随机漫步
while True:
# 创建一个randomwalk的实例,并将包含的点绘制出来
# RandomWalk(50000),用来增加点数
rw = RandomWalk(50000)
rw.fill_walk()
# 修改窗口尺寸和分辨率,dpi分辨率,figsize窗口尺寸,元组对应单位英寸(这段代码不能放到后面,因为放到后面点数都已绘制了,窗口
# 绘制也没有了)
plt.figure(dpi=128, figsize=(10, 6))
# 漫步中的点是有先后顺序的,按先后顺序给点着色,参数设置5000的列表,按先后顺序绘制颜色映射
point_numbers = list(range(rw.num_points))
plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Blues, edgecolors='none', s=1)
plt.xlabel("x_values", fontsize=14)
plt.ylabel("y_values", fontsize=14)
plt.title("random_walk", fontsize=20)
# 重新绘制起点和终点,突出起点和终点
plt.scatter(0, 0, c='green', edgecolors='none', s=100)
plt.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none', s=100)
# 隐藏坐标轴
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)
plt.show()
keep_running = input("Make another walk?(y/n):")
if keep_running == 'n':
break