絢瀬絵*_*瀬絵里 15 python matplotlib
最新版本matplotlib自动创建下的导航按钮graph.然而,我在网上看到的例子都只是展示了如何创建一个图表,从而使按键[Next]和[Previous]无用.如何绘制多个图形并使用这些按钮?
例如,我想使graph对sin()和cos()从0度360程度.
现在我这样做:
import scipy
from matplotlib import pyplot
DataRange = range(0, 360)
DataRange = map(scipy.deg2rad, DataRange)
Data1 = map(scipy.sin, DataRange)
Data2 = map(scipy.cos, DataRange)
pyplot.plot(Data1)
pyplot.show() # <--- if I exclude this
pyplot.plot(Data2)
pyplot.show()
Run Code Online (Sandbox Code Playgroud)
sin()将显示该图表.当我关闭窗口时,cos将显示图表.如果我排除第一个pyplot.show(),则两个都将显示在同一图中.
当我按下"下一步"按钮时如何显示第二个图表?
Mar*_*ans 12
根据文档,使用Forward和Back按钮可以返回到单个图形的先前视图.因此,例如,如果您使用该Zoom-to-rectangle功能,该Back按钮将返回到上一个显示.根据您的后端,按下这些按钮时可能会挂钩.
您可以使用subplot以下方法显然同时绘制多个图形:
import scipy
from matplotlib import pyplot
DataRange = range(0, 360)
DataRange = map(scipy.deg2rad, DataRange)
Data1 = map(scipy.sin, DataRange)
Data2 = map(scipy.cos, DataRange)
pyplot.subplot(211)
pyplot.plot(Data1)
pyplot.subplot(212)
pyplot.plot(Data2)
pyplot.show()
Run Code Online (Sandbox Code Playgroud)
给你:
或者,您可以使用以下内容在单击它们时在两个数字之间切换:
import scipy
from matplotlib import pyplot
DataRange = range(0, 360)
DataRange = map(scipy.deg2rad, DataRange)
Data1 = map(scipy.sin, DataRange)
Data2 = map(scipy.cos, DataRange)
toggle = True
def onclick(event):
global toggle
toggle = not toggle
event.canvas.figure.clear()
if toggle:
event.canvas.figure.gca().plot(Data1)
else:
event.canvas.figure.gca().plot(Data2)
event.canvas.draw()
fig = pyplot.figure()
fig.canvas.mpl_connect('button_press_event', onclick)
pyplot.plot(Data1)
pyplot.show()
Run Code Online (Sandbox Code Playgroud)