[Matplotlib-users] Why are all my plots displayed as closed loops?
Paul D. DeRocco
pderocco at ix.netcom.com
Sun Jun 5 02:56:19 EDT 2016
> From: Thomas Caswell [mailto:tcaswell at gmail.com]
>
> `Line2D` draws lines connecting the points in the order you
> pass them in. If mpl sorted your data based on the x values
> then you could never plot anything was not a single valued
> function f(x).
That's fine, but in this case that's exactly what I'm trying to plot, so
I'm giving it ascending x values. But it's connecting the last point back
to the first point, for no obvious reason. I won't try to post the screen
caps in the mailing list, which I expect doesn't work, but they are at
still at http://preview.tinyurl.com/hb62una for now. But here's the code:
---
import numpy
import gtk
import matplotlib
from matplotlib.figure import Figure
from matplotlib.backends.backend_gtk import FigureCanvasGTK as
FigureCanvas
class junk:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.connect('destroy', self.destroy)
self.window.set_title('junk')
self.window.resize(400, 400)
self.figure = Figure()
self.axes = self.figure.add_axes((0, 0, 1, 1))
self.canvas = FigureCanvas(self.figure)
self.canvas.show()
self.window.add(self.canvas)
self.axes.set_xlim(-10, 12)
self.axes.set_ylim(-1, 122)
x = numpy.arange(-9, 12)
self.axes.plot(x, x * x)
self.canvas.draw()
self.window.show_all()
def destroy(self, widget, data = None):
gtk.main_quit()
def main(self):
gtk.main()
if __name__ == '__main__':
app = junk()
app.main()
---
Do you get the same results? How do I make it not do that?
--
Ciao, Paul D. DeRocco
Paul mailto:pderocco at ix.netcom.com
More information about the Matplotlib-users
mailing list