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
(3)
2
(9)
3
(6)
4
(2)
5
(19)
6
(7)
7
(3)
8
(5)
9
(6)
10
(13)
11
(19)
12
(16)
13
(9)
14
(17)
15
(5)
16
(12)
17
(12)
18
(5)
19
(16)
20
(10)
21
(9)
22
(3)
23
(8)
24
(5)
25
(13)
26
(11)
27
(21)
28
(9)
29
(11)
30
(6)
31
(5)




Showing 3 results of 3

On Fri, Jul 6, 2012 at 5:39 PM, Chao YUE <cha...@gm...> wrote:
> dear all,
>
> I want to build a 5X3 subplots matrix that I want the xaxis is shared only
> on the same column and yaxis shared only on the same row.
> While using plt.subplots(5,3,sharex=True, sharey=True) will put all
> subplots as both shared xaxis and yaxis.
>
> The other option is to do like this to create 2X2 subplots with desired
> feature, Yet I guess doing the same for 5X3 subplots could be tedious?
> Does anyone has some idea?
> fig=figure()
> ax1=fig.add_subplot(221)
> ax2=fig.add_subplot(222,sharey=ax1)
> ax3=fig.add_subplot(223,sharex=ax1)
> ax4=fig.add_subplot(224,sharex=ax2,sharey=ax3)
>
> Thanks a lot et cheers,
>
> Chao
>
>
Chao,
Such a feature is not in any of the current releases, (although it can be
done manually, but it is tedious). However, in the development branch, the
subplots() function now accepts strings of "row", "col", "all", or "none"
for both the sharex and sharey kwargs. So, for you, you can call
subplots() with sharex="col" and sharey="row" to get what you want. This
will also have a side-effect of having the y-tick labels show up only on
the first column and the x-tick labels show up only on the last row. This
is a new feature, so bug reports would be welcomed!
Cheers!
Ben Root
From: Michiel de H. <mjl...@ya...> - 2012年07月07日 15:40:47
One reason behind the lengthy plot creation times is likely the PDF backend itself. 
Whereas the Mac OS X and the Cairo backends make use of new_gc and gc.restore to keep track of the graphics context, the PDF backend uses check_gc and an internal stack of graphics contexts. Since nowadays matplotlib has gc.restore functionality, I don't think that that is needed any more.
See this revision for when gc.restore was added to matplotlib:
http://matplotlib.svn.sourceforge.net/viewvc/matplotlib?view=revision&revision=7112
In the same revision the Mac OS X and Cairo backends were modified to make use of gc.restore. The PDF backend (and the postscript backend also, btw) can be simplified in the same way to speed up these backends, as well as to reduce the output file sizes.
Best,
-Michiel.
--- On Thu, 7/5/12, Gökhan Sever <gok...@gm...> wrote:
From: Gökhan Sever <gok...@gm...>
Subject: Re: [Matplotlib-users] Accelerating PDF saved plots
To: "Benjamin Root" <ben...@ou...>
Cc: mat...@li...
Date: Thursday, July 5, 2012, 2:11 PM
38 * 16 = 608
80 / 608 = 0.1316 seconds per plot
At this point, I doubt you are going to get much more speed-ups. Glad to be of help!
Fabrice -- Good suggestion! I should have thought of that given how much I use that technique in doing animation.
Ben Root
I am including profiled runs for the records --only first 10 lines to keep e-mail shorter. Total times are longer comparing to the raw run -p executions. I believe profiled run has its own call overhead.
I1 run -p test_speed.py
 171889738 function calls (169109959 primitive calls) in 374.311 seconds
  Ordered by: internal time
  ncalls tottime percall cumtime percall filename:lineno(function)
 4548012  34.583  0.000  34.583  0.000 {numpy.core.multiarray.array} 1778401  21.012  0.000  46.227  0.000 path.py:86(__init__)  521816  17.844  0.000  17.844  0.000 artist.py:74(__init__)
 2947090  15.432  0.000  15.432  0.000 weakref.py:243(__init__) 1778401  9.515  0.000  9.515  0.000 {method 'all' of 'numpy.ndarray' objects} 13691669  8.654  0.000  8.654  0.000 {getattr}
 1085280  8.550  0.000  17.629  0.000 core.py:2749(_update_from) 1299904  7.809  0.000  76.060  0.000 markers.py:115(_recache)    38  7.378  0.194  7.378  0.194 {gc.collect}
 13564851  6.768  0.000  6.768  0.000 {isinstance}
I1 run -p test_speed3.py 61658708 function calls (60685172 primitive calls) in 100.934 seconds
  Ordered by: internal time
  ncalls tottime percall cumtime percall filename:lineno(function)  937414  6.638  0.000  6.638  0.000 {numpy.core.multiarray.array}
  374227  4.377  0.000  7.500  0.000 path.py:198(iter_segments) 6974613  3.866  0.000  3.866  0.000 {getattr}  542640  3.809  0.000  7.900  0.000 core.py:2749(_update_from)
  141361  3.665  0.000  7.136  0.000 transforms.py:99(invalidate)324688/161136  2.780  0.000  27.747  0.000 transforms.py:1729(transform)  64448  2.753  0.000  64.921  0.001 lines.py:463(draw)
  231195  2.748  0.000  7.072  0.000 path.py:86(__init__)684970/679449  2.679  0.000  3.888  0.000 backend_pdf.py:128(pdfRepr)  67526  2.651  0.000  7.522  0.000 backend_pdf.py:1226(pathOperations)
-- 
Gökhan
-----Inline Attachment Follows-----
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
-----Inline Attachment Follows-----
_______________________________________________
Matplotlib-users mailing list
Mat...@li...
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Eric F. <ef...@ha...> - 2012年07月07日 02:54:46
On 2012年07月05日 11:33 PM, TP wrote:
> Hi everybody,
>
> The following is a small test yielding a segmentation fault with PySide, but
> not with PyQt4.
>
> To test with PyQt4, use:
> $ python example.py
>
> To test with PySide:
> $ python example.py pyside
>
> With PySide, a segmentation fault appears as soon as the mouse cursor is
> hovering the plot area. Without the NavigationToolbar (try to comment the
> corresponding lines), the problem does not appear. It may be related to the
> display of mouse coordinates in the NavigationToolbar, because when the mouse
> is hovering the NavigationToolbar, no segfault appears.
>
> These are the versions of Qt, PySide, and Matplotlib on my machine:
>>>> from PySide import QtCore
>>>> QtCore.qVersion()
> '4.8.1'
>>>> from PySide import __version__
>>>> __version__
> '1.1.0'
>>>> import matplotlib
>>>> matplotlib.__version__
> '1.1.1rc'
>
> Is this a bug? If yes, does any workaround exist?
Yes, it's a bug, but most likely in PySide. Mpl does not use any 
extension code specific to Qt.
Eric
>
> Thanks in advance,
>
> TP
>
> ########### example.py ############
> #!/usr/bin/env python
>
> import sys
>
> if len(sys.argv) >= 2 and sys.argv[1] == "pyside":
> from os import environ
> environ['QT_API'] = 'pyside'
>
> from PySide.QtCore import *
> from PySide.QtGui import *
> else:
> from PyQt4.QtCore import *
> from PyQt4.QtGui import *
>
>
> from matplotlib.figure import Figure
> from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as
> FigureCanvas
> from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg
>
> class MplCanvasXY( FigureCanvas ):
>
> def __init__( self, title = None, xlabel = None, ylabel = None,
> parent=None ):
>
> self.fig = Figure()
> self.axes = self.fig.add_subplot(111)
> self.axes.grid(True)
>
> FigureCanvas.__init__( self, self.fig )
> self.setParent( parent )
>
>
> app = QApplication( sys.argv )
> d = QDialog()
>
> vb = QVBoxLayout()
> canvas = MplCanvasXY()
>
> vb.addWidget( canvas )
> navigationToolbar = NavigationToolbar2QTAgg(
> parent = canvas
> , canvas = canvas )
> vb.addWidget( navigationToolbar )
> d.setLayout( vb )
>
> d.show()
> sys.exit( app.exec_() )
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>

Showing 3 results of 3

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 によって変換されたページ (->オリジナル) /