You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
1
(19) |
2
(30) |
3
(14) |
4
(1) |
5
(16) |
6
(7) |
7
(12) |
8
(14) |
9
(35) |
10
(16) |
11
(31) |
12
(6) |
13
(14) |
14
(13) |
15
(20) |
16
(15) |
17
(27) |
18
(5) |
19
(10) |
20
(22) |
21
(20) |
22
(30) |
23
(25) |
24
(11) |
25
(2) |
26
(2) |
27
(23) |
28
(20) |
29
(26) |
30
(25) |
31
(7) |
|
#!/usr/bin/env python # embedding_in_qt4.py --- Simple Qt4 application embedding matplotlib canvases # # Copyright (C) 2005 Florent Rougon # 2006 Darren Dale # # This file is an example program for matplotlib. It may be used and # modified with no restriction; raw copies as well as modified versions # may be distributed without limitation. import sys, os, random from PyQt4 import QtGui, QtCore from numpy import arange, sin, pi from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.figure import Figure class MyMplCanvas(FigureCanvas): """Ultimately, this is a QWidget (as well as a FigureCanvasAgg, etc.).""" def __init__(self, parent=None, width=5, height=4, dpi=100): fig = Figure(figsize=(width, height), dpi=dpi) self.axes = fig.add_subplot(111) # We want the axes cleared every time plot() is called self.axes.hold(False) self.compute_initial_figure() FigureCanvas.__init__(self, fig) self.setParent(parent) FigureCanvas.setSizePolicy(self, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) FigureCanvas.updateGeometry(self) def compute_initial_figure(self): pass class MyStaticMplCanvas(MyMplCanvas): """Simple canvas with a sine plot.""" def compute_initial_figure(self): t = arange(0.0, 3.0, 0.01) s = sin(2*pi*t) self.axes.plot(t, s) def save_png(): """Save an image as a png file""" pngpath = 'test_mplsave.png' fig = Figure() canvas = FigureCanvas(fig) ax = fig.add_subplot(111) x = arange(5e3) ax.plot(x, sin(x)) #canvas.print_figure(pngpath) ## tried all things commented out below, all makes no difference ## #fig.savefig(pngpath) #del(fig) #del(canvas) #del(ax) #import matplotlib.pyplot as plt #plt.close(fig) #import gc #gc.collect() class ApplicationWindow(QtGui.QMainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) self.setAttribute(QtCore.Qt.WA_DeleteOnClose) self.setWindowTitle("application main window") self.file_menu = QtGui.QMenu('&File', self) self.file_menu.addAction('&Quit', self.fileQuit, QtCore.Qt.CTRL + QtCore.Qt.Key_Q) self.menuBar().addMenu(self.file_menu) self.help_menu = QtGui.QMenu('&Help', self) self.main_widget = QtGui.QWidget(self) l = QtGui.QVBoxLayout(self.main_widget) sc = MyStaticMplCanvas(self.main_widget, width=5, height=4, dpi=100) dc = QtGui.QPushButton('Save image') l.addWidget(sc) l.addWidget(dc) self.main_widget.setFocus() self.setCentralWidget(self.main_widget) self.statusBar().showMessage("All hail matplotlib!", 2000) self.connect(dc, QtCore.SIGNAL("clicked()"), save_png) def fileQuit(self): self.close() def closeEvent(self, ce): self.fileQuit() qApp = QtGui.QApplication(sys.argv) aw = ApplicationWindow() aw.setWindowTitle("Try saving a simple png image") aw.show() sys.exit(qApp.exec_())
On Wed, Jul 1, 2009 at 3:25 PM, David Paulsen<dav...@du...> wrote: > Script passed the previous error point, and a different error string this > time: > > File "3D_line_plot_ex.py", line 32, in <module> > ax.add_collection3d(poly, zs=zs, zdir='y') > > File > "/Library/Frameworks/Python.framework/Versions/4.2.30201/lib/python2.5/site- > packages/mpl_toolkits/mplot3d/axes3d.py", line 807, in add_collection3d > art3d.poly_collection_2d_to_3d(col, zs=zs, zdir=zdir) > > File > "/Library/Frameworks/Python.framework/Versions/4.2.30201/lib/python2.5/site- > packages/mpl_toolkits/mplot3d/art3d.py", line 369, in > poly_collection_2d_to_3d > segments_3d = paths_to_3d_segments(col.get_paths(), zs, zdir) > > File > "/Library/Frameworks/Python.framework/Versions/4.2.30201/lib/python2.5/site- > packages/mpl_toolkits/mplot3d/art3d.py", line 138, in paths_to_3d_segments > segments.append(path_to_3d_segment(path, pathz, zdir)) > > File > "/Library/Frameworks/Python.framework/Versions/4.2.30201/lib/python2.5/site- > packages/mpl_toolkits/mplot3d/art3d.py", line 122, in path_to_3d_segment > pathsegs = path.iter_segments(simplify=False, curves=False) > TypeError: iter_segments() got an unexpected keyword argument 'curves' > Huh, that is a very interesting and unexpected point for the interpreter to complain. I have the same lines on installation and it works without any problem. One last idea, you could try to isolate your matplotlib installation from Enthought's distro and try again, while having a separate Python, too. Someone in the list with more experience might have more to say on this issue.
This should now be fixed on the maintenance branch and trunk. A Numpy array allocation was not being NULL-checked in _path.cpp:affine_transform. I know a MemoryError doesn't help the user much more than a segfault, but it always makes me feel better to get a real Python exception rather than exploding ;) Mike On 07/01/2009 03:16 PM, Jae-Joon Lee wrote: > On Wed, Jul 1, 2009 at 2:34 PM, Michael Droettboom<md...@st...> wrote: > >> I agree with Jae-Joon here -- try to reduce the number of points before >> passing it to matplotlib. >> >> However, I'm a little concerned about the segfault -- I'd rather matplotlib >> give a MemoryError exception if that's in fact what is happening. Jae-Joon >> -- can you share your test that causes the segfault? >> >> The snippet below completely hogs my machine for a few minutes, but then, >> correctly, aborts with a MemoryError. >> >> This is on FC11 i586, Python 2.6, Numpy 1.3. >> >> ==== >> >> from matplotlib.pyplot import * >> import numpy as np >> >> points = np.random.random((50000000, 2)) >> plot(points) >> show() >> >> > > Yes, I also got MemoryError in this case during the plot() call. > > But I got segfault for the code below. > > x=random(50e6) > y=random(50e6) > plt.plot(x, y) > plt.show() > > In this case, plot() runs fine, but segfault during show(). > > The segfault happens in the _path_module::affine_transform method of > src/_path.cpp. > > I wonder if you can reproduce this. > > -JJ > > > >> ==== >> >> Mike >> >> On 07/01/2009 01:34 PM, Jae-Joon Lee wrote: >> >> A snippet of code does not help much. >> Please try to post a small concise standalone example that we can run and >> test. >> >> A general advise is to try to reduce the number of plot call, i.e., >> plot as may points as possible with a single plot call. >> >> However, 50million points seems to be awful a lot. >> 6 inch x 6 inch figure with dpi=100 has 0.36 million number of pixels. >> My guess is that it makes little sense to plot 50 million points here. >> >> Anyhow, plotting 50million points with a single plot call dies with >> some segfault error in my machine. So, I feel that matplotlib may not >> be suitable for your task. But, John or others may have some insight >> how to deal with. >> >> Regards, >> >> -JJ >> >> >> >> On Tue, Jun 30, 2009 at 1:22 PM, Markus Feldmann<fel...@gm...> >> wrote: >> >> >> Hi All, >> >> my program lets slow down my cpu. This only appears if i plot to much >> points. I am not sure how many point i need to get this, normally i plot >> 3*14e6 + 8e3, that is round about 50million points. My system is a >> dual core 2GHz cpu with 2Gbyte Ram. >> >> Here is my method to plot, >> def drawtransientall(self,min): >> self.subplot = self.figure.add_subplot(111) >> self.subplot.grid(True) >> list_t1,list_peaks,t2,list_samples = >> self.computetransientall(min,min+self.maxitems) >> offset = 0 >> color = ['green','red','blue','magenta','cyan'] >> markerPeaks = ['v','<','1','3','s'] >> markerSamples = ['^','>','2','4','p'] >> self.plots=[[],[]] >> for i in range(len(self.showBands)): >> self.plots[0] += >> self.subplot.plot(list_t1[i],list_peaks[i],color=color[i],marker=markerPeaks[i], >> linestyle='None') >> self.plots[1] += >> self.subplot.plot(t2,list_samples[i]+offset,color=color[i], >> >> marker=markerSamples[i],linestyle='None') >> offset +=1 >> >> self.subplot.set_xlim(t2[0]-np.abs(t2[-1]-t2[0])/100,t2[-1]+np.abs(t2[-1]-t2[0])/100) >> ymax = np.amax(list_samples) >> ymin = np.amin(list_samples) >> self.subplot.set_ylim([ymin-np.abs(ymin)*0.1, ymax*1.2 + 2]) >> self.subplot.set_ylabel("abs(Sample(t)) und >> abs(Peak(t)+Offset)-->",fontsize = 12) >> self.subplot.set_xlabel("Zeit in Sek. -->",fontsize = 12) >> >> Any ideas how to avoid the slow down of my cpu ? >> >> regards Markus >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> >>
I tracked this down do line 962 of the _path.cpp. double* vertex_out = (double*)PyArray_DATA(result); My guess is that PyArray_SimpleNew at line 957 returns NULL for a memory error instead of raising an exception, which makes result=NULL and causes a segfault at line 962. Since I'm not an c++ expert, I'll leave it to you, Michael. Regards, -JJ On Wed, Jul 1, 2009 at 3:16 PM, Jae-Joon Lee<lee...@gm...> wrote: > On Wed, Jul 1, 2009 at 2:34 PM, Michael Droettboom<md...@st...> wrote: >> I agree with Jae-Joon here -- try to reduce the number of points before >> passing it to matplotlib. >> >> However, I'm a little concerned about the segfault -- I'd rather matplotlib >> give a MemoryError exception if that's in fact what is happening. Jae-Joon >> -- can you share your test that causes the segfault? >> >> The snippet below completely hogs my machine for a few minutes, but then, >> correctly, aborts with a MemoryError. >> >> This is on FC11 i586, Python 2.6, Numpy 1.3. >> >> ==== >> >> from matplotlib.pyplot import * >> import numpy as np >> >> points = np.random.random((50000000, 2)) >> plot(points) >> show() >> > > Yes, I also got MemoryError in this case during the plot() call. > > But I got segfault for the code below. > > x=random(50e6) > y=random(50e6) > plt.plot(x, y) > plt.show() > > In this case, plot() runs fine, but segfault during show(). > > The segfault happens in the _path_module::affine_transform method of > src/_path.cpp. > > I wonder if you can reproduce this. > > -JJ > > >> ==== >> >> Mike >> >> On 07/01/2009 01:34 PM, Jae-Joon Lee wrote: >> >> A snippet of code does not help much. >> Please try to post a small concise standalone example that we can run and >> test. >> >> A general advise is to try to reduce the number of plot call, i.e., >> plot as may points as possible with a single plot call. >> >> However, 50million points seems to be awful a lot. >> 6 inch x 6 inch figure with dpi=100 has 0.36 million number of pixels. >> My guess is that it makes little sense to plot 50 million points here. >> >> Anyhow, plotting 50million points with a single plot call dies with >> some segfault error in my machine. So, I feel that matplotlib may not >> be suitable for your task. But, John or others may have some insight >> how to deal with. >> >> Regards, >> >> -JJ >> >> >> >> On Tue, Jun 30, 2009 at 1:22 PM, Markus Feldmann<fel...@gm...> >> wrote: >> >> >> Hi All, >> >> my program lets slow down my cpu. This only appears if i plot to much >> points. I am not sure how many point i need to get this, normally i plot >> 3*14e6 + 8e3, that is round about 50million points. My system is a >> dual core 2GHz cpu with 2Gbyte Ram. >> >> Here is my method to plot, >> def drawtransientall(self,min): >> self.subplot = self.figure.add_subplot(111) >> self.subplot.grid(True) >> list_t1,list_peaks,t2,list_samples = >> self.computetransientall(min,min+self.maxitems) >> offset = 0 >> color = ['green','red','blue','magenta','cyan'] >> markerPeaks = ['v','<','1','3','s'] >> markerSamples = ['^','>','2','4','p'] >> self.plots=[[],[]] >> for i in range(len(self.showBands)): >> self.plots[0] += >> self.subplot.plot(list_t1[i],list_peaks[i],color=color[i],marker=markerPeaks[i], >> linestyle='None') >> self.plots[1] += >> self.subplot.plot(t2,list_samples[i]+offset,color=color[i], >> >> marker=markerSamples[i],linestyle='None') >> offset +=1 >> >> self.subplot.set_xlim(t2[0]-np.abs(t2[-1]-t2[0])/100,t2[-1]+np.abs(t2[-1]-t2[0])/100) >> ymax = np.amax(list_samples) >> ymin = np.amin(list_samples) >> self.subplot.set_ylim([ymin-np.abs(ymin)*0.1, ymax*1.2 + 2]) >> self.subplot.set_ylabel("abs(Sample(t)) und >> abs(Peak(t)+Offset)-->",fontsize = 12) >> self.subplot.set_xlabel("Zeit in Sek. -->",fontsize = 12) >> >> Any ideas how to avoid the slow down of my cpu ? >> >> regards Markus >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> >
On Wed, Jul 1, 2009 at 2:34 PM, Michael Droettboom<md...@st...> wrote: > I agree with Jae-Joon here -- try to reduce the number of points before > passing it to matplotlib. > > However, I'm a little concerned about the segfault -- I'd rather matplotlib > give a MemoryError exception if that's in fact what is happening. Jae-Joon > -- can you share your test that causes the segfault? > > The snippet below completely hogs my machine for a few minutes, but then, > correctly, aborts with a MemoryError. > > This is on FC11 i586, Python 2.6, Numpy 1.3. > > ==== > > from matplotlib.pyplot import * > import numpy as np > > points = np.random.random((50000000, 2)) > plot(points) > show() > Yes, I also got MemoryError in this case during the plot() call. But I got segfault for the code below. x=random(50e6) y=random(50e6) plt.plot(x, y) plt.show() In this case, plot() runs fine, but segfault during show(). The segfault happens in the _path_module::affine_transform method of src/_path.cpp. I wonder if you can reproduce this. -JJ > ==== > > Mike > > On 07/01/2009 01:34 PM, Jae-Joon Lee wrote: > > A snippet of code does not help much. > Please try to post a small concise standalone example that we can run and > test. > > A general advise is to try to reduce the number of plot call, i.e., > plot as may points as possible with a single plot call. > > However, 50million points seems to be awful a lot. > 6 inch x 6 inch figure with dpi=100 has 0.36 million number of pixels. > My guess is that it makes little sense to plot 50 million points here. > > Anyhow, plotting 50million points with a single plot call dies with > some segfault error in my machine. So, I feel that matplotlib may not > be suitable for your task. But, John or others may have some insight > how to deal with. > > Regards, > > -JJ > > > > On Tue, Jun 30, 2009 at 1:22 PM, Markus Feldmann<fel...@gm...> > wrote: > > > Hi All, > > my program lets slow down my cpu. This only appears if i plot to much > points. I am not sure how many point i need to get this, normally i plot > 3*14e6 + 8e3, that is round about 50million points. My system is a > dual core 2GHz cpu with 2Gbyte Ram. > > Here is my method to plot, > def drawtransientall(self,min): > self.subplot = self.figure.add_subplot(111) > self.subplot.grid(True) > list_t1,list_peaks,t2,list_samples = > self.computetransientall(min,min+self.maxitems) > offset = 0 > color = ['green','red','blue','magenta','cyan'] > markerPeaks = ['v','<','1','3','s'] > markerSamples = ['^','>','2','4','p'] > self.plots=[[],[]] > for i in range(len(self.showBands)): > self.plots[0] += > self.subplot.plot(list_t1[i],list_peaks[i],color=color[i],marker=markerPeaks[i], > linestyle='None') > self.plots[1] += > self.subplot.plot(t2,list_samples[i]+offset,color=color[i], > > marker=markerSamples[i],linestyle='None') > offset +=1 > > self.subplot.set_xlim(t2[0]-np.abs(t2[-1]-t2[0])/100,t2[-1]+np.abs(t2[-1]-t2[0])/100) > ymax = np.amax(list_samples) > ymin = np.amin(list_samples) > self.subplot.set_ylim([ymin-np.abs(ymin)*0.1, ymax*1.2 + 2]) > self.subplot.set_ylabel("abs(Sample(t)) und > abs(Peak(t)+Offset)-->",fontsize = 12) > self.subplot.set_xlabel("Zeit in Sek. -->",fontsize = 12) > > Any ideas how to avoid the slow down of my cpu ? > > regards Markus > > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >
I agree with Jae-Joon here -- try to reduce the number of points before passing it to matplotlib. However, I'm a little concerned about the segfault -- I'd rather matplotlib give a MemoryError exception if that's in fact what is happening. Jae-Joon -- can you share your test that causes the segfault? The snippet below completely hogs my machine for a few minutes, but then, correctly, aborts with a MemoryError. This is on FC11 i586, Python 2.6, Numpy 1.3. ==== from matplotlib.pyplot import * import numpy as np points = np.random.random((50000000, 2)) plot(points) show() ==== Mike On 07/01/2009 01:34 PM, Jae-Joon Lee wrote: > A snippet of code does not help much. > Please try to post a small concise standalone example that we can run and test. > > A general advise is to try to reduce the number of plot call, i.e., > plot as may points as possible with a single plot call. > > However, 50million points seems to be awful a lot. > 6 inch x 6 inch figure with dpi=100 has 0.36 million number of pixels. > My guess is that it makes little sense to plot 50 million points here. > > Anyhow, plotting 50million points with a single plot call dies with > some segfault error in my machine. So, I feel that matplotlib may not > be suitable for your task. But, John or others may have some insight > how to deal with. > > Regards, > > -JJ > > > > On Tue, Jun 30, 2009 at 1:22 PM, Markus Feldmann<fel...@gm...> wrote: > >> Hi All, >> >> my program lets slow down my cpu. This only appears if i plot to much >> points. I am not sure how many point i need to get this, normally i plot >> 3*14e6 + 8e3, that is round about 50million points. My system is a >> dual core 2GHz cpu with 2Gbyte Ram. >> >> Here is my method to plot, >> def drawtransientall(self,min): >> self.subplot = self.figure.add_subplot(111) >> self.subplot.grid(True) >> list_t1,list_peaks,t2,list_samples = >> self.computetransientall(min,min+self.maxitems) >> offset = 0 >> color = ['green','red','blue','magenta','cyan'] >> markerPeaks = ['v','<','1','3','s'] >> markerSamples = ['^','>','2','4','p'] >> self.plots=[[],[]] >> for i in range(len(self.showBands)): >> self.plots[0] += >> self.subplot.plot(list_t1[i],list_peaks[i],color=color[i],marker=markerPeaks[i], >> linestyle='None') >> self.plots[1] += >> self.subplot.plot(t2,list_samples[i]+offset,color=color[i], >> >> marker=markerSamples[i],linestyle='None') >> offset +=1 >> >> self.subplot.set_xlim(t2[0]-np.abs(t2[-1]-t2[0])/100,t2[-1]+np.abs(t2[-1]-t2[0])/100) >> ymax = np.amax(list_samples) >> ymin = np.amin(list_samples) >> self.subplot.set_ylim([ymin-np.abs(ymin)*0.1, ymax*1.2 + 2]) >> self.subplot.set_ylabel("abs(Sample(t)) und >> abs(Peak(t)+Offset)-->",fontsize = 12) >> self.subplot.set_xlabel("Zeit in Sek. -->",fontsize = 12) >> >> Any ideas how to avoid the slow down of my cpu ? >> >> regards Markus >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
A snippet of code does not help much. Please try to post a small concise standalone example that we can run and test. A general advise is to try to reduce the number of plot call, i.e., plot as may points as possible with a single plot call. However, 50million points seems to be awful a lot. 6 inch x 6 inch figure with dpi=100 has 0.36 million number of pixels. My guess is that it makes little sense to plot 50 million points here. Anyhow, plotting 50million points with a single plot call dies with some segfault error in my machine. So, I feel that matplotlib may not be suitable for your task. But, John or others may have some insight how to deal with. Regards, -JJ On Tue, Jun 30, 2009 at 1:22 PM, Markus Feldmann<fel...@gm...> wrote: > Hi All, > > my program lets slow down my cpu. This only appears if i plot to much > points. I am not sure how many point i need to get this, normally i plot > 3*14e6 + 8e3, that is round about 50million points. My system is a > dual core 2GHz cpu with 2Gbyte Ram. > > Here is my method to plot, > def drawtransientall(self,min): > self.subplot = self.figure.add_subplot(111) > self.subplot.grid(True) > list_t1,list_peaks,t2,list_samples = > self.computetransientall(min,min+self.maxitems) > offset = 0 > color = ['green','red','blue','magenta','cyan'] > markerPeaks = ['v','<','1','3','s'] > markerSamples = ['^','>','2','4','p'] > self.plots=[[],[]] > for i in range(len(self.showBands)): > self.plots[0] += > self.subplot.plot(list_t1[i],list_peaks[i],color=color[i],marker=markerPeaks[i], > linestyle='None') > self.plots[1] += > self.subplot.plot(t2,list_samples[i]+offset,color=color[i], > > marker=markerSamples[i],linestyle='None') > offset +=1 > > self.subplot.set_xlim(t2[0]-np.abs(t2[-1]-t2[0])/100,t2[-1]+np.abs(t2[-1]-t2[0])/100) > ymax = np.amax(list_samples) > ymin = np.amin(list_samples) > self.subplot.set_ylim([ymin-np.abs(ymin)*0.1, ymax*1.2 + 2]) > self.subplot.set_ylabel("abs(Sample(t)) und > abs(Peak(t)+Offset)-->",fontsize = 12) > self.subplot.set_xlabel("Zeit in Sek. -->",fontsize = 12) > > Any ideas how to avoid the slow down of my cpu ? > > regards Markus > > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
yscale("log") http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.yscale However the bars in the stem plot will be gone (because of the log 0). It seems that there is no option for controling the baseline location in the stem command. However, the code for stem command is quite short (~10 lines), so I guess you can easily modify it to your taste. Regards, -JJ On Wed, Jul 1, 2009 at 8:41 AM, Forrest Sheng Bao<for...@gm...> wrote: > Him > > I had a stem plot. Now I want to make the Y axis of log scale. But I do not > want to use semilogy since I prefer the bars in stem plot. Do you know how > to only scale the Y axis? > > Cheers, > Forrest > > Forrest Sheng Bao, BSEE, Graduate Student > Dept. of Computer Science/Electrical Engineering > Texas Tech University, Lubbock, Texas > http://narnia.cs.ttu.edu > > ------------------------------------------------------------------------------ > > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >
On Wed, Jul 1, 2009 at 9:55 AM, David Paulsen<dav...@du...> wrote: > Dear List, > > I tried running examples of 3D plots given from the matplotlib webpage, but > encountered the following error: > > > from mpl_toolkits.mplot3d import Axes3D > ImportError: No module named mplot3d > > I am using the enthought package with matplotlib version 0.98.5.2 > > Any help on how to recover mplot 3d would be appreciated. > > Thanks, > david > > > David Paulsen, M.S. > Graduate Student > Department of Psychology & Neuroscience > Duke University > > ------------------------------------------------------------------------------ > > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > Hello, mplot3d module is in the svn codebase. You will have to check-out the sources and make a manual installation. If you are on linux, it is a very easy process: First a check-out with svn svn co https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk/matplotlib matplotlib and then python setup.py install Tadaa, the examples should work without any problems. Gökhan
> I think what you want is > > ax = fig.add_subplot(111,frameon=False) > > JLS D'oh, I knew it had to be easy. Thanks JLS.
On Wed, Jul 1, 2009 at 16:55, David Paulsen<dav...@du...> wrote: > from mpl_toolkits.mplot3d import Axes3D > ImportError: No module named mplot3d > > I am using the enthought package with matplotlib version 0.98.5.2 > > Any help on how to recover mplot 3d would be appreciated. mplot3d still lives only under SVN and was not released yet (note that there is a new version of matplotlib, 0.98.5.3). So either you take the version from SVN (there's a guide on matplotlib.sf.net) or wait for the next release :) Regards, -- Sandro Tosi (aka morph, morpheus, matrixhasu) My website: http://matrixhasu.altervista.org/ Me at Debian: http://wiki.debian.org/SandroTosi
Mark Larsen wrote: > Hopefully a really simple question. How do I remove the "box" (the > black rectangle) around the plot. > > I tried > > ax = fig.add_subplot(111) > ax.patch.set_visible(False) > > but this makes the entire patch invisible. > > Thanks, > > Mark > > ------------------------------------------------------------------------------ I think what you want is ax = fig.add_subplot(111,frameon=False) JLS
Dear List, I tried running examples of 3D plots given from the matplotlib webpage, but encountered the following error: from mpl_toolkits.mplot3d import Axes3D ImportError: No module named mplot3d I am using the enthought package with matplotlib version 0.98.5.2 Any help on how to recover mplot 3d would be appreciated. Thanks, david David Paulsen, M.S. Graduate Student Department of Psychology & Neuroscience Duke University
Hopefully a really simple question. How do I remove the "box" (the black rectangle) around the plot. I tried ax = fig.add_subplot(111) ax.patch.set_visible(False) but this makes the entire patch invisible. Thanks, Mark
Him I had a stem plot. Now I want to make the Y axis of log scale. But I do not want to use semilogy since I prefer the bars in stem plot. Do you know how to only scale the Y axis? Cheers, Forrest Forrest Sheng Bao, BSEE, Graduate Student Dept. of Computer Science/Electrical Engineering Texas Tech University, Lubbock, Texas http://narnia.cs.ttu.edu
Hallöchen! I have a grid in my plot, but additionally I'd like to highlight the "zero" axes, where x=0 or y=0, e.g. by showing them in red, or with thicker lines. How is this possible? Tschö, Torsten. -- Torsten Bronger, aquisgrana, europa vetus Jabber ID: tor...@ja... or http://bronger-jmp.appspot.com
On Tue, Jun 30, 2009 at 14:12, Fabrice Silva<si...@lm...> wrote: > Le lundi 29 juin 2009 à 16:11 -0400, Jae-Joon Lee a écrit : >> In the svn version of matplotlib, there are some helper classes to >> ease this job a bit. > Thanks for your pointer. Sadly the mpl.toolkits.axes_grid is not shipped > by debian package, and downloading it requires other stuff. So I adapted I'm the debian maintainer for matplotlib: if you need something missing in Debian, get in touch with us, for example reporting a bug against matplotlib requesting this toolkit. I didn't check further, but probably it was not release because of this phrase: "In the svn version of matplotlib". Regards, -- Sandro Tosi (aka morph, morpheus, matrixhasu) My website: http://matrixhasu.altervista.org/ Me at Debian: http://wiki.debian.org/SandroTosi
Hi, On Mon, Jun 1, 2009 at 10:20 PM, Fernando Perez<fpe...@gm...> wrote: > The time for the Scipy'09 conference is rapidly approaching, and we > would like to both announce the plan for tutorials and solicit > feedback from everyone on topics of interest. rather than rehash much here, where it's not easy to paste a table, I've posted a note with the poll results here: http://fdoperez.blogspot.com/2009/06/scipy-advanced-tutorials-results.html The short and plain-text-friendly version is the final topic ranking: 1 Advanced topics in matplotlib use 2 Advanced numpy 3 Designing scientific interfaces with Traits 4 Mayavi/TVTK 5 Cython 6 Symbolic computing with sympy 7 Statistics with Scipy 8 Using GPUs with PyCUDA 9 Testing strategies for scientific codes 10 Parallel computing in Python and mpi4py 11 Sparse Linear Algebra with Scipy 12 Structured and record arrays in numpy 13 Design patterns for efficient iterator-based scientific codes 14 Sage 15 The TimeSeries scikit 16 Hermes: high order Finite Element Methods 17 Graph theory with NetworkX We're currently contacting speakers, and we'll let you know once a final list is made with confirmed speakers. Cheers, f
On Jun 30, 2009, at 7:54 PM, Tommy Grav wrote: > That is what I was assuming, but it still seems a little odd that > matplotlib generates > that large of a memory footprint. Loading the fits file into the > program using pyfits, > with the code only uses 19MB of real memory and 600MB of virtual > memory (strangly > adding the line img = hdu[1].data, increases this to 208MB/800MB). > The reason for this is that pyfits doesn't actually load the data until you 'touch' the data attribute (to minimize memory, particularly if you just are interested in the header information). As for the memory footprint of matplotlib, in order to be able to resize and handle interactive updates, it has to retain references to the original image, perhaps as well to intermediate products (and these references won't be memory collected until you clear the figure (e.g., clf()). It's one of the prices for flexibility and generality. It probably would take a lot of complexity to optimize it for large images (but John is better suited to answer this conclusively). Perry > Displaying images of various sizes I get these > numbers from Activity Monitor > > Size Real Mem Virtual > 3k x 3k 0.68GB 1.57GB > 4k x 4k 0.92GB 1.80GB > 5k x 5k 1.20GB 2.10GB > 5.5k x 5.5k 1.38GB 2.28GB > > And the limit seems to be somewhere just above 5.5k by 5.5k (darn :( ) > > Cheers > Tommy >