title: How to set canvas size properly in Tkinter?
body: <p>I am using Tkinter to visualize my data points. My problem is that I cannot make the data points appear in the center of the canvas and meanwhile the canvas is big enough.</p>
  <p>To make the canvas look good, I wish to fix it at around <code>800*600</code> (I think the unit is <strong>pixel</strong>). So I did the following:</p>
  <pre><code>class DisplayParticles(Canvas):
      def __init__(self):
          # Canvas
          Canvas.__init__(self)
          self.configure(width=800, height=600)
          # Particles
          self.particle_radius = 1
          self.particle_color = 'red'
          # User
          self.user_radius = 4
          self.user_color = 'blue'
          self.ghost_color = None
  </code></pre>
  <p>However, my data to be plotted are in the unit of <strong>meter</strong>. Plus, they center around the origin <code>(0, 0)</code>, which means that <strong>there are negative coordinates</strong> for both <code>x</code> and <code>y</code>.</p>
  <p>Then when I plot them on the canvas I get something like this</p>
  <p><img src="https://i.stack.imgur.com/h8mzw.jpg" alt="enter image description here" /></p>
  <p><strong>Obviously, the data points were plotted in pixel!</strong></p>
  <p>I wish the canvas to be big enough on the screen and meanwhile the data are plotted in a proper scale centered at the canvas. <em>(Place my origin <code>(0, 0)</code> at the canvas center)</em></p>
  <p>How may I do that?</p>