title: Python: Embed a matplotlib plot with slider in tkinter properly
body: <p>I have created this plot in pyplot which has a slider to view a certain range of the data.</p>
  
  <pre><code>import random
  import matplotlib
  import tkinter as Tk
  import matplotlib.pyplot as plt
  from matplotlib.widgets import Slider
  
  from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
  
  fig, ax = plt.subplots()
  plt.subplots_adjust(bottom=0.25)
  
  y_values = [random.randrange(20, 40, 1) for _ in range(40)]
  x_values = [i for i in range(40)]
  
  l, = plt.plot(x_values, y_values)
  plt.axis([0, 9, 20, 40])
  
  ax_time = plt.axes([0.12, 0.1, 0.78, 0.03])
  s_time = Slider(ax_time, 'Time', 0, 30, valinit=0)
  
  
  def update(val):
      pos = s_time.val
      ax.axis([pos, pos+10, 20, 40])
      fig.canvas.draw_idle()
  s_time.on_changed(update)
  
  #plt.show()
  
  matplotlib.use('TkAgg')
  
  root = Tk.Tk()
  root.wm_title("Embedding in TK")
  
  canvas = FigureCanvasTkAgg(fig, master=root)
  canvas.show()
  canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)
  
  Tk.mainloop()
  </code></pre>
  
  <p>The problem is, it seems unresponsive when embedded in a tkinter window, although when I show it with plt.show() (meaning the code after this, is commented) works correctly. What is the right way to do this?</p>