SourceForge logo
SourceForge logo
Menu

matplotlib-users — Discussion related to using matplotlib

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)

Showing 19 results of 19

From: Ralf G. <ral...@go...> - 2009年07月01日 22:41:32
#!/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_())
From: Gökhan S. <gok...@gm...> - 2009年07月01日 20:35:00
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.
From: Michael D. <md...@st...> - 2009年07月01日 20:03:03
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
>>
>>
>> 
From: Jae-Joon L. <lee...@gm...> - 2009年07月01日 19:53:18
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
>>
>>
>
From: Jae-Joon L. <lee...@gm...> - 2009年07月01日 19:17:23
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
>
>
From: Michael D. <md...@st...> - 2009年07月01日 18:34:37
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
> 
From: Jae-Joon L. <lee...@gm...> - 2009年07月01日 17:34:20
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
>
From: Jae-Joon L. <lee...@gm...> - 2009年07月01日 16:55:22
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
>
>
From: Gökhan S. <gok...@gm...> - 2009年07月01日 16:29:57
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
From: Mark L. <lar...@gm...> - 2009年07月01日 15:41:35
> 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.
From: Sandro T. <mat...@gm...> - 2009年07月01日 15:26:16
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
From: João L. S. <js...@fc...> - 2009年07月01日 15:20:55
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
From: David P. <dav...@du...> - 2009年07月01日 14:55:36
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
From: Mark L. <lar...@gm...> - 2009年07月01日 14:11:28
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
From: Forrest S. B. <for...@gm...> - 2009年07月01日 13:08:57
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
From: Torsten B. <br...@ph...> - 2009年07月01日 13:06:57
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
From: Sandro T. <mo...@de...> - 2009年07月01日 08:13:31
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
From: Fernando P. <fpe...@gm...> - 2009年07月01日 07:41:37
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
From: Perry G. <pe...@st...> - 2009年07月01日 01:07:47
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
>

Showing 19 results of 19

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /