有没有办法控制应该绘制数据的数字?在下面的这个例子中,我试图在两个单独的图(a和b代码块)中绘制我的数据,这是正常的。但是,我想回到图1来绘制,因为我的数据组织方式不同,但是c-block正在绘制最新的数字,而不是我在figure = plt.figure(1)
中指定的图1。我做错了什么,拜托?
import matplotlib.pyplot as plt
#a-block
figure = plt.figure(1)
figure, axisArr = plt.subplots(4, 1, figsize=(8.27, 11.70), sharex=True)
axisArr[0].plot(range(10), '-', color = 'red')
axisArr[1].plot(range(20), ':', color = 'yellow')
axisArr[0].plot(range(30), '.', color = 'blue')
#b-block
figure = plt.figure(2)
figure, axisArr = plt.subplots(4, 1, figsize=(8.27, 11.70), sharex=True)
axisArr[0].plot(range(10), '-', color = 'red')
axisArr[1].plot(range(20), ':', color = 'black')
axisArr[0].plot(range(30), '.', color = 'blue')
#c-block
figure = plt.figure(1)
axisArr[2].plot(range(10), '-', color = 'red')
axisArr[3].plot(range(10), '-', color = 'green')
plt.show()
答案 0 :(得分:1)
使用相同的名称命名不同的数字和轴数组是一个坏主意。从而松开了想要绘制的轴的手柄。相反,使用不同的名称。
import matplotlib.pyplot as plt
figure1, axisArr1 = plt.subplots(4, 1, figsize=(8.27, 11.70), sharex=True)
axisArr1[0].plot(range(10), '-', color = 'red')
axisArr1[1].plot(range(20), ':', color = 'yellow')
axisArr1[0].plot(range(30), '.', color = 'blue')
figure2, axisArr2 = plt.subplots(4, 1, figsize=(8.27, 11.70), sharex=True)
axisArr2[0].plot(range(10), '-', color = 'red')
axisArr2[1].plot(range(20), ':', color = 'black')
axisArr2[0].plot(range(30), '.', color = 'blue')
axisArr1[2].plot(range(10), '-', color = 'red')
axisArr1[3].plot(range(10), '-', color = 'green')
plt.show()