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

Showing results of 141

<< < 1 .. 3 4 5 6 > >> (Page 5 of 6)
From: Michael D. <md...@st...> - 2013年05月10日 19:43:51
Yeah -- I can confirm this. I'm not sure what the most desired behavior 
is, but I think it's worth opening a discussion in a Github issue.
Mike
On 05/09/2013 08:44 PM, K.-Michael Aye wrote:
> If someone confirms this, I'd be happy to put it into github, but I
> thought I send it here first, to see if this is another PEBKAC.
>
> Michael
>
>
> On 2013年05月10日 00:39:48 +0000, K.-Michael Aye said:
>
>> Problem: New y-axis max value set by edit-curve interface is forgotten
>> after zoom-in-zoom-out cycle.
>>
>> Reproduction steps:
>>
>> * change y-axis max to a larger value than used by the default layouter
>> with the edit-curve interface (click on the green hook)
>> * Click Ok
>> * Zoom into the plot
>> * click the 'Back' button and see the max on y-axis going back to the
>> default value.
>>
>> I would understand if the Home button goes to the default layout,
>> although that's debatable, but the back button really should go to the
>> previous layout, not the default layout values.
>>
>> Michael
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Learn Graph Databases - Download FREE O'Reilly Book
>> "Graph Databases" is the definitive new guide to graph databases and
>> their applications. This 200-page book is written by three acclaimed
>> leaders in the field. The early access version is available now.
>> Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
>
>
>
> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and
> their applications. This 200-page book is written by three acclaimed
> leaders in the field. The early access version is available now.
> Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Nicolas R. <Nic...@in...> - 2013年05月10日 07:23:54
From the matplotlib page, you can reach:
http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
and just translates the function:
def inside_polygon(p, vertices):
 vx,vy = vertices[:,0], vertices[:,1]
 x,y = p
 c = 0
 j = len(vertices)-1
 for i in xrange(len(vertices)):
 if( ((vy[i] > y) != (vy[j] > y)) and (x < (vx[j]-vx[i]) * (y-vy[i]) / (vy[j]-vy[i]) + vx[i]) ):
 c = 1-c
 j = i
 return c
Of course this would be slower than the corresponding C implementation.
Nicolas
On May 9, 2013, at 21:55 , algotr8der wrote:
> I tried to execute the following code:
> 
> http://matplotlib.org/faq/howto_faq.html#test-whether-a-point-is-inside-a-polygon
> 
> However I get errors I describe here:
> 
> http://stackoverflow.com/questions/16452509/matplotlib-pnpoly-example-results-in-error
> 
>>>> import numpy as np
>>>> import matplotlib.nxutils as nx
>>>> verts = np.array([ [0,0], [0, 1], [1, 1], [1,0]], float)
>>>> nx.pnpoly(0.5, 0.5, verts)
> 
> Traceback (most recent call last):
> File "<console>", line 1, in <module>
> File "C:\Python27\lib\site-packages\matplotlib\nxutils.py", line 26, in
> pnpoly
> return p.contains_point(x, y)
> File "C:\Python27\lib\site-packages\matplotlib\path.py", line 289, in
> contains_point
> transform = transform.frozen()
> AttributeError: 'float' object has no attribute 'frozen'
> 
>>>> nx.pnpoly(0.5, 1.5, verts)
> 
> Traceback (most recent call last):
> File "<console>", line 1, in <module>
> File "C:\Python27\lib\site-packages\matplotlib\nxutils.py", line 26, in
> pnpoly
> return p.contains_point(x, y)
> File "C:\Python27\lib\site-packages\matplotlib\path.py", line 289, in
> contains_point
> transform = transform.frozen()
> AttributeError: 'float' object has no attribute 'frozen'
> 
> Apparently, nxutils is deprecated, which to me means it should still work
> but a user on stackoverflow pointed out that there may be some code rot.
> That said, the documentation on matplotlib.path.Path.contains_point is weak
> (see below). Does anyone have an example of how I can do the exact same
> thing in the code in the howto_faq but using the suggested function
> (contains_point)?
> 
> http://matplotlib.org/1.2.1/api/path_api.html?highlight=contains_point#matplotlib.path.Path.contains_point
> 
> contains_point(point, transform=None, radius=0.0)
> 
> Returns True if the path contains the given point.
> If transform is not None, the path will be transformed before performing
> the test.
> radius allows the path to be made slightly larger or smaller.
> 
> contains_points(points, transform=None, radius=0.0)
> 
> Returns a bool array which is True if the path contains the
> corresponding point.
> If transform is not None, the path will be transformed before performing
> the test.
> radius allows the path to be made slightly larger or smaller.
> 
> 
> 
> 
> 
> 
> --
> View this message in context: http://matplotlib.1069221.n5.nabble.com/re-matplotlib-pnpoly-example-results-in-error-tp41028.html
> Sent from the matplotlib - users mailing list archive at Nabble.com.
> 
> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and 
> their applications. This 200-page book is written by three acclaimed 
> leaders in the field. The early access version is available now. 
> Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: K.-Michael A. <kmi...@gm...> - 2013年05月10日 00:45:34
If someone confirms this, I'd be happy to put it into github, but I 
thought I send it here first, to see if this is another PEBKAC.
Michael
On 2013年05月10日 00:39:48 +0000, K.-Michael Aye said:
> Problem: New y-axis max value set by edit-curve interface is forgotten
> after zoom-in-zoom-out cycle.
> 
> Reproduction steps:
> 
> * change y-axis max to a larger value than used by the default layouter
> with the edit-curve interface (click on the green hook)
> * Click Ok
> * Zoom into the plot
> * click the 'Back' button and see the max on y-axis going back to the
> default value.
> 
> I would understand if the Home button goes to the default layout,
> although that's debatable, but the back button really should go to the
> previous layout, not the default layout values.
> 
> Michael
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and
> their applications. This 200-page book is written by three acclaimed
> leaders in the field. The early access version is available now.
> Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
From: K.-Michael A. <kmi...@gm...> - 2013年05月10日 00:40:22
Problem: New y-axis max value set by edit-curve interface is forgotten 
after zoom-in-zoom-out cycle.
Reproduction steps:
* change y-axis max to a larger value than used by the default layouter 
with the edit-curve interface (click on the green hook)
* Click Ok
* Zoom into the plot
* click the 'Back' button and see the max on y-axis going back to the 
default value.
I would understand if the Home button goes to the default layout, 
although that's debatable, but the back button really should go to the 
previous layout, not the default layout values.
Michael
From: algotr8der <alg...@gm...> - 2013年05月09日 19:55:45
I tried to execute the following code:
http://matplotlib.org/faq/howto_faq.html#test-whether-a-point-is-inside-a-polygon
However I get errors I describe here:
http://stackoverflow.com/questions/16452509/matplotlib-pnpoly-example-results-in-error
>>>import numpy as np
>>>import matplotlib.nxutils as nx
>>>verts = np.array([ [0,0], [0, 1], [1, 1], [1,0]], float)
>>>nx.pnpoly(0.5, 0.5, verts)
Traceback (most recent call last):
 File "<console>", line 1, in <module>
 File "C:\Python27\lib\site-packages\matplotlib\nxutils.py", line 26, in
pnpoly
 return p.contains_point(x, y)
 File "C:\Python27\lib\site-packages\matplotlib\path.py", line 289, in
contains_point
 transform = transform.frozen()
AttributeError: 'float' object has no attribute 'frozen'
>>>nx.pnpoly(0.5, 1.5, verts)
Traceback (most recent call last):
 File "<console>", line 1, in <module>
 File "C:\Python27\lib\site-packages\matplotlib\nxutils.py", line 26, in
pnpoly
 return p.contains_point(x, y)
 File "C:\Python27\lib\site-packages\matplotlib\path.py", line 289, in
contains_point
 transform = transform.frozen()
AttributeError: 'float' object has no attribute 'frozen'
Apparently, nxutils is deprecated, which to me means it should still work
but a user on stackoverflow pointed out that there may be some code rot.
That said, the documentation on matplotlib.path.Path.contains_point is weak
(see below). Does anyone have an example of how I can do the exact same
thing in the code in the howto_faq but using the suggested function
(contains_point)?
http://matplotlib.org/1.2.1/api/path_api.html?highlight=contains_point#matplotlib.path.Path.contains_point
contains_point(point, transform=None, radius=0.0)
 Returns True if the path contains the given point.
 If transform is not None, the path will be transformed before performing
the test.
 radius allows the path to be made slightly larger or smaller.
contains_points(points, transform=None, radius=0.0)
 Returns a bool array which is True if the path contains the
corresponding point.
 If transform is not None, the path will be transformed before performing
the test.
 radius allows the path to be made slightly larger or smaller.
--
View this message in context: http://matplotlib.1069221.n5.nabble.com/re-matplotlib-pnpoly-example-results-in-error-tp41028.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: Jae-Joon L. <lee...@gm...> - 2013年05月09日 02:49:18
ImageGrid creates axes for colobar even if cbar_mode=None. These axes for
colorbar are set to invisible, so usually they are harmless.
tight_layout, however, do not care whether the axes is visible or not, and
the warning is because of these "invisible" axes for colorbars.
For comparison, if you turn on all colorbar with cbar_mode="each", the
warning will go away.
You may manually remove colorbar axes from the figure if you want,
```
for ax in grid.cbar_axes: fig._axstack.remove(ax)
```
but do this only when cbar_mode=None.
So, I think the warning is harmless.
I will make a pull request that make tight_layout to ignore any invisible
axes soon.
Regards,
-JJ
On Wed, May 8, 2013 at 10:21 PM, Jonathan Slavin <js...@cf...>wrote:
> Hi,
>
> I wrote a short routine to look through a set of images that result from
> slightly different processing of the same data. I want to compare three
> different images and be able to zoom them all in the same way and then
> move onto the next set of three. The best way that I've found to do
> that so far involves using mpl_toolkits.axes_grid1.ImageGrid. It all
> works fine. I found that to get the most image on screen at once, using
> the tight_layout=True argument to plt.figure gives excellent results.
> My one question is that I get the following warning:
>
> WARNING: This figure includes Axes that are not compatible with
> tight_layout, so its results might be incorrect. [matplotlib.figure]
>
> As I say, the results are good, so it's not really a problem, but I do
> wonder about the source of the warngin -- and whether re-using the code
> in a different way in the future could lead to problems. So, my
> question is: what is the problem pointed to by the warning and how could
> I avoid it (while still getting the same good results)?
>
> Regards,
> Jon
> --
> ______________________________________________________________
> Jonathan D. Slavin Harvard-Smithsonian CfA
> js...@cf... 60 Garden Street, MS 83
> phone: (617) 496-7981 Cambridge, MA 02138-1516
> cell: (781) 363-0035 USA
> ______________________________________________________________
>
>
>
> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and
> their applications. This 200-page book is written by three acclaimed
> leaders in the field. The early access version is available now.
> Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Claus H. <cla...@gm...> - 2013年05月08日 16:03:25
Hi,
I am trying to produce a set of plots using grispec. There should be an images shown in each of the axes (using imshow) except in one of the axes, where I want to show/plot some text. However, the text seems to be too long to be displayed in one line. Is there a way to print it in something like a text box? 
I created a minimal example (see below)
I can not / do not want to make a string variable with three quotation marks (docstring), because I am reading the text from a bigger ascii file.
Thanks for your help!
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
def main():
 """
 goal is to show justified text in one axes of matplotlib
 there are two examples I found on stackoverflow. But I am not sure how they could be applicable here
 http://stackoverflow.com/questions/5777576/is-there-a-way-of-drawing-a-caption-box-in-matplotlib
 http://stackoverflow.com/questions/4018860/text-box-in-matplotlib
 """
 plt.close('all')
 fig = plt.figure(figsize=(5, 10))
 plt.subplots_adjust(left=0.1, right=0.9, top=0.95, bottom=0.1)
 n_rows = 5
 outer_grid = gridspec.GridSpec(n_rows, 2 )# ,wspace=0.0, hspace=0.0
 
 lst_files = [ 'circle.png'
 , 'circle.png'
 , 'circle.png'
 , 'circle.png'
 , 'text'
 , 'circle.png'
 , 'circle.png'
 , 'circle.png'
 , 'circle.png']
 for cur_map_id, cur_map_file in enumerate(lst_files):
 
 cur_row = (cur_map_id % n_rows)
 if cur_map_id / n_rows == 0:
 cur_column = 0
 else:
 cur_column = 1
 
 # preparation: no axes
 ax = plt.subplot(outer_grid[cur_row, cur_column], frameon=False)
 ax.axes.get_yaxis().set_visible(False)
 ax.axes.get_xaxis().set_visible(False)
 
 # fix for the fact that the fourth entry is text and not in tmp_lst_imgs
 if cur_map_id > 4: 
 cur_map_id = cur_map_id - 1
 
 # the actual plotting
 if cur_map_file == 'text':
 lorem = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'
 ax.text(0.05, 0.9, lorem, size=6)
 else:
 print cur_map_id
 im = plt.imread(cur_map_file)
 ax.imshow(im)
 ax.set_title(cur_map_file, size=6)
 fig.add_subplot(ax)
 
 plt.savefig('blah.png', dpi=300)
 print "done!"
 
if __name__ == '__main__':
 main() 
From: Jonathan S. <js...@cf...> - 2013年05月08日 14:03:26
Hi,
I wrote a short routine to look through a set of images that result from
slightly different processing of the same data. I want to compare three
different images and be able to zoom them all in the same way and then
move onto the next set of three. The best way that I've found to do
that so far involves using mpl_toolkits.axes_grid1.ImageGrid. It all
works fine. I found that to get the most image on screen at once, using
the tight_layout=True argument to plt.figure gives excellent results.
My one question is that I get the following warning:
WARNING: This figure includes Axes that are not compatible with
tight_layout, so its results might be incorrect. [matplotlib.figure]
As I say, the results are good, so it's not really a problem, but I do
wonder about the source of the warngin -- and whether re-using the code
in a different way in the future could lead to problems. So, my
question is: what is the problem pointed to by the warning and how could
I avoid it (while still getting the same good results)?
Regards,
Jon
-- 
______________________________________________________________
Jonathan D. Slavin Harvard-Smithsonian CfA
js...@cf... 60 Garden Street, MS 83
phone: (617) 496-7981 Cambridge, MA 02138-1516
 cell: (781) 363-0035 USA
______________________________________________________________
Hi all,
I discovered recently that basmap does not draw the coastline contours
properly for some choice of map boundaries. Specifically,
from mpl_toolkits.basemap import Basemap
map =
Basemap(projection='cyl',llcrnrlat=-22.,urcrnrlat=22.,llcrnrlon=78.,urcrnrlon=168.,resolution='l')
map.drawcoastlines()
results in the coastline of continental Asia not being drawn (see
attachment bad_contours.png). On the other hand, even subtly changing
the latitude boundaries, to
map =
Basemap(projection='cyl',llcrnrlat=-22.001,urcrnrlat=22.001,llcrnrlon=78.,urcrnrlon=168.,resolution='l')
results in all the coastlines being drawn (see attachment
good_contours.png). I presume this is a bug?
Here is my system info:
Operating system: Linux 3.2.0-41-generic #66-Ubuntu SMP Thu Apr 25
03:27:11 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Matplotlib version: 1.1.0
Where I obtained matplotlib: SourceForge
Customizations to matplotlibrc: none
Thanks,
Sourish
From: Richard S. <st...@ha...> - 2013年05月08日 03:40:13
I want to increase the default setting of saved matplotlib graphs, so I
created a file ~/.matplotlib/matplotlibrc containing the line
savefigdpi : 300
I then created a test notebook containing a single cell with the contents
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1,2,3])
y = np.array([4,5,6])
plt.plot(x,y)
plt.savefig('d0.png')
plt.savefig('d300.png',dpi=300)
When I run this within the notebook, the two png files are created fine,
but have different sizes. When I run the same code from the command line
(after saving the same commands to a script file testplot.py), using
ipython testplot.py
the two graphs have the same size, as desired. Does matplotlib ignore the
contents of ~/.matplotlib/matplotlibrc when called from an Ipython
notebook?
By the way, this is using matplotlib 1.2.0 and Ipython 0.13.2, if it makes
any difference.
Thanks for any help.
Richard Stanton
From: Colin M. <cj...@co...> - 2013年05月07日 11:48:26
The default backend is macosx but using it leads to the error I mentioned:
Traceback (most recent call last):
 File "./fftest.py", line 24, in <module>
 ani.save('animation.avi')
 File "/Library/Python/2.6/site-packages/matplotlib/animation.py", 
line 615, in save
 writer.grab_frame()
 File "/Library/Python/2.6/site-packages/matplotlib/animation.py", 
line 199, in grab_frame
 dpi=self.dpi)
 File "/Library/Python/2.6/site-packages/matplotlib/figure.py", line 
1370, in savefig
 self.canvas.print_figure(*args, **kwargs)
 File 
"/Library/Python/2.6/site-packages/matplotlib/backend_bases.py", line 
2015, in print_figure
 print_method = self._get_print_method(format)
 File 
"/Library/Python/2.6/site-packages/matplotlib/backend_bases.py", line 
1956, in _get_print_method
 '%s.' % (format, ', '.join(formats)))
ValueError: Format "rgba" is not supported.
Supported formats: bmp, emf, eps, gif, jpeg, jpg, pdf, pgf, png, ps, 
raw, rgba, svg, svgz, tif, tiff.
The above error does not occur if I switch to agg.
Also using the ffmpeg command
ffmpeg -f image2 -i t%d.jpg video.avi
on a few images gives the following output, where I put !! next to the 
lines which are suppressed by including -loglevel quiet
FFmpeg version SVN-r26402, Copyright (c) 2000-2011 the FFmpeg developers
 built on May 2 2013 23:13:41 with llvm_gcc 4.2.1 (Based on Apple 
Inc. build 5658) (LLVM build 2336900)
 configuration: --enable-libmp3lame --enable-shared --disable-mmx 
--arch=x86_64
 libavutil 50.36. 0 / 50.36. 0
 libavcore 0.16. 1 / 0.16. 1
 libavcodec 52.108. 0 / 52.108. 0
 libavformat 52.93. 0 / 52.93. 0
 libavdevice 52. 2. 3 / 52. 2. 3
 libavfilter 1.74. 0 / 1.74. 0
 libswscale 0.12. 0 / 0.12. 0
Input #0, image2, from 't%d.jpg':
 Duration: 00:00:00.12, start: 0.000000, bitrate: N/A
 Stream #0.0: Video: mjpeg, yuvj422p, 4272x2848, 25 tbr, 25 tbn, 25 tbc
File 'video.avi' already exists. Overwrite ? [y/N] y
!![buffer @ 0x7fff094014b0] w:4272 h:2848 pixfmt:yuvj422p
!![ffsink @ 0x7fff094016d0] auto-inserting filter 'auto-inserted 
scaler 0' between the filter 'src' and the filter 'out'
!![scale @ 0x7fff094018f0] w:4272 h:2848 fmt:yuvj422p -> w:4272 h:2848 
fmt:yuv420p flags:0x4
!!Output #0, avi, to 'video.avi':
!! Metadata:
!! ISFT : Lavf52.93.0
!! Stream #0.0: Video: mpeg4, yuv420p, 4272x2848, q=2-31, 200 kb/s, 
25 tbn, 25 tbc
Stream mapping:
 Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 3 fps= 2 q=4.0 Lsize= 524kB time=0.12 bitrate=35781.7kbits/s
video:519kB audio:0kB global headers:0kB muxing overhead 1.083673%
Quoting Tony Yu <ts...@gm...>:
> On Mon, May 6, 2013 at 7:09 AM, Colin McAuliffe <cj...@co...>wrote:
>
>> Hi Tony, thanks for the reply.
>>
>> I was using 1.2.0 and just upgraded to 1.2.1 but the problem persists. I
>> ran the example code from the link and it hangs after 350-400 frames. Also,
>> I got an error when running the code as it is posted and had to add:
>>
>> import matplotlib
>> matplotlib.use("Agg")
>>
>> to get it to work. Is this an incorrect setting I'm using?
>>
>> Colin
>
>
> Hmm, that's strange: Your problem sounds too similar to be a different bug.
> Could you copy the error message you got? It might be a clue. Also, what
> backend are you running?
>
>>>> import matplotlib.pyplot as plt
>>>> print plt.rcParams['backend']
>
> Another possibility (longshot) is that your version of `ffmpeg` may not
> respect the `-loglevel quiet` flag being passed to suppress output. Maybe
> you could try running an `ffmpeg` command with and without that flag to see
> if it works.
>
> -Tony
>
-- 
Colin McAuliffe
PhD Candidate
Columbia University
Department of Civil Engineering and Engineering Mechanics
From: Ondřej Č. <ond...@gm...> - 2013年05月07日 05:26:14
On Mon, May 6, 2013 at 6:27 PM, Michael Droettboom <md...@st...> wrote:
> Well, we could try a different approach. matplotlib will use pkg-config to
> find its dependencies, if available.
>
> If you can get your local libpng to include a libpng.pc (i.e. a pkg-config
> information file) and then add your local pkg-config path (probably
> /auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/profile/eoul/lib/pkgconfig)
> to the PKG_CONFIG_PATH environment variable, it should pick up the right
> name for the library as well.
It works!! Thanks a lot. Here I found the same answer as well:
http://stackoverflow.com/questions/16227285/unable-to-import-matplotlib-png-pylab
> If you get that working, you may be able to
> avoid setting CFLAGS and LDFLAGS explicitly and the Makefile modifications.
Indeed. I definitely don't need Python Makefile modifications and here
is my polished install script now:
export PKG_CONFIG_PATH="$PNG/lib/pkgconfig:$FREETYPE/lib/pkgconfig"
export LDFLAGS="-L$PNG/lib -Wl,-rpath=$PNG/lib"
$PYTHON/bin/python setup.py install
As you can see, I still need to setup the rpath, but that is to be expected.
For the record, here is how _png.o and _png.so end up compiled and linked:
gcc -pthread -DNDEBUG -g -fwrapv -O3 -Wall
-I/home/ondrej/repos/python-hpcmp2/opt/png/qhle/include
-I/home/ondrej/repos/python-hpcmp2/opt/freetype/lfqj/include
-I/home/ondrej/repos/python-hpcmp2/opt/freetype/lfqj/include/freetype2
-fPIC -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1
-I/usr/local/include -I/usr/include
-I/home/ondrej/repos/python-hpcmp2/opt/png/qhle/include/libpng16
-I/usr/local/include -I/usr/include -I.
-I/home/ondrej/repos/python-hpcmp2/opt/numpy/hpbc/lib/python2.7/site-packages/numpy/core/include
-I. -I/home/ondrej/repos/python-hpcmp2/opt/python/llzf/include/python2.7
-c src/_png.cpp -o build/temp.linux-x86_64-2.7/src/_png.o
g++ -pthread -shared -L/usr/lib/x86_64-linux-gnu
-L/lib/x86_64-linux-gnu
-L/home/ondrej/repos/python-hpcmp2/opt/freetype/lfqj/lib
-L/home/ondrej/repos/python-hpcmp2/opt/png/qhle/lib
-Wl,-rpath=/home/ondrej/repos/python-hpcmp2/opt/png/qhle/lib
-I/home/ondrej/repos/python-hpcmp2/opt/png/qhle/include
-I/home/ondrej/repos/python-hpcmp2/opt/freetype/lfqj/include
-I/home/ondrej/repos/python-hpcmp2/opt/freetype/lfqj/include/freetype2
build/temp.linux-x86_64-2.7/src/_png.o
build/temp.linux-x86_64-2.7/src/mplutils.o
build/temp.linux-x86_64-2.7/CXX/cxx_extensions.o
build/temp.linux-x86_64-2.7/CXX/IndirectPythonInterface.o
build/temp.linux-x86_64-2.7/CXX/cxxsupport.o
build/temp.linux-x86_64-2.7/CXX/cxxextensions.o
-L/home/ondrej/repos/python-hpcmp2/opt/png/qhle/lib -L/usr/local/lib
-L/usr/lib -lpng16 -lz -lstdc++ -lm -o
build/lib.linux-x86_64-2.7/matplotlib/_png.so
I think that this looks good. If I need to ever remove the
-L/usr/lib/x86_64-linux-gnu parts, then I just fix the Python package.
Ondrej
From: Tony Yu <ts...@gm...> - 2013年05月07日 03:42:30
On Mon, May 6, 2013 at 7:09 AM, Colin McAuliffe <cj...@co...>wrote:
> Hi Tony, thanks for the reply.
>
> I was using 1.2.0 and just upgraded to 1.2.1 but the problem persists. I
> ran the example code from the link and it hangs after 350-400 frames. Also,
> I got an error when running the code as it is posted and had to add:
>
> import matplotlib
> matplotlib.use("Agg")
>
> to get it to work. Is this an incorrect setting I'm using?
>
> Colin
Hmm, that's strange: Your problem sounds too similar to be a different bug.
Could you copy the error message you got? It might be a clue. Also, what
backend are you running?
>>> import matplotlib.pyplot as plt
>>> print plt.rcParams['backend']
Another possibility (longshot) is that your version of `ffmpeg` may not
respect the `-loglevel quiet` flag being passed to suppress output. Maybe
you could try running an `ffmpeg` command with and without that flag to see
if it works.
-Tony
From: Michael D. <md...@st...> - 2013年05月07日 00:27:33
Well, we could try a different approach. matplotlib will use pkg-config 
to find its dependencies, if available.
If you can get your local libpng to include a libpng.pc (i.e. a 
pkg-config information file) and then add your local pkg-config path 
(probably
/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/profile/eoul/lib/pkgconfig) 
to the PKG_CONFIG_PATH environment variable, it should pick up the right 
name for the library as well. If you get that working, you may be able 
to avoid setting CFLAGS and LDFLAGS explicitly and the Makefile 
modifications.
Mike
On 05/06/2013 06:53 PM, Ondřej Čertík wrote:
> On Mon, May 6, 2013 at 3:53 PM, Michael Droettboom <md...@st...> wrote:
>> My understanding is that distutils builds up the commandline arguments for
>> gcc in this order:
>>
>> 1) From Python's Makefile.
>> 2) From environment variables
>> 3) From whatever was added by the setup.py script
>>
>> It looks like you have some extra stuff in (1), namely
>>
>> -L/usr/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu
>>
>> You can find the Python Makefile that is being used to source this
>> information here:
>>
>>>>> from distutils import sysconfig
>>>>> sysconfig.get_makefile_filename()
> This gives:
>
> In [1]: from distutils import sysconfig
>
> In [2]: sysconfig.get_makefile_filename()
> Out[2]: '/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/profile/eoul/lib/python2.7/config/Makefile'
>
>
>
>> You can edit that file, though obviously that's a bit of a hack.
> It contains the lines:
>
> CPPFLAGS= -I. -IInclude -I$(srcdir)/Include -I/usr/include/x86_64-linux-gnu
> LDFLAGS= -L/usr/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu
>
>
> So indeed this is causing it. I think this comes from building our own
> Python, which I do with:
>
> ----------------------
>
> #!/bin/bash
>
> set -e
>
> export arch=$(dpkg-architecture -qDEB_HOST_MULTIARCH)
> export LDFLAGS="-L/usr/lib/$arch -L/lib/$arch"
> export CFLAGS="-I/usr/include/$arch"
> export CPPFLAGS="-I/usr/include/$arch"
> # Fix for #21:
> export HAS_HG="no"
> ./configure --prefix=${PYTHONHPC_PREFIX}
>
> ---------------------------
>
> And this is a bit of a hack too, Ubuntu specific etc. I think I should
> start fixing things here.
>
> It just wouldn't occur to me, that remains of how I built Python would
> bite me later when building
> matplotlib.
>
> So to test if modifying the Python makefile fixes it, I did:
>
> --- Makefile.old 2013年05月06日 16:26:25.426440205 -0600
> +++ Makefile 2013年05月06日 16:27:05.282439550 -0600
> @@ -73,8 +73,8 @@
> # Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
> # be able to build extension modules using the directories specified in the
> # environment variables
> -CPPFLAGS= -I. -IInclude -I$(srcdir)/Include -I/usr/include/x86_64-linux-gnu
> -LDFLAGS= -L/usr/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu
> +CPPFLAGS= -I. -IInclude -I$(srcdir)/Include
> +LDFLAGS=
> LDLAST=
> SGI_ABI=
> CCSHARED= -fPIC
>
> but mpl build system still shows the system one. The _png.so is built with:
>
> [matplotlib] g++ -pthread -shared
> -L/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/freetype/lfqj/lib
> -L/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/png/qhle/lib
> -Wl,-rpath=/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/png/qhle/lib
> -I/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/png/qhle/include
> -I/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/freetype/lfqj/include
> -I/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/freetype/lfqj/include/freetype2
> build/temp.linux-x86_64-2.7/src/_png.o
> build/temp.linux-x86_64-2.7/src/mplutils.o
> build/temp.linux-x86_64-2.7/CXX/IndirectPythonInterface.o
> build/temp.linux-x86_64-2.7/CXX/cxxsupport.o
> build/temp.linux-x86_64-2.7/CXX/cxx_extensions.o
> build/temp.linux-x86_64-2.7/CXX/cxxextensions.o -L/usr/local/lib
> -L/usr/lib -lpng12 -lz -lstdc++ -lm -o
> build/lib.linux-x86_64-2.7/matplotlib/_png.so
>
> Which in my opinion looks good -- my own version of PNG is offered
> first on the gcc command line. But the -lpng12 part spoils it --- that
> forces gcc to use the systemone, because my own version is newer.
>
>
> So I think that part of the problem gets fixed by modifying the Python
> Makefile, but the other part of the problem is how to force distutils
> to look for my PNG version before the systemwide. Any ideas?
>
> Maybe it is something that is added by the mpl setup.py script.
>
>> I've run into this problem before, and there doesn't seem to be any good way
>> around it -- i.e. there doesn't seem to be a way to insert local environment
>> variables in front of the global Python configuration. Reason number #47
>> why distutils is a poor build system for C/C++ code.
> This is amazingly broken.
>
> Ondrej
From: Ondřej Č. <ond...@gm...> - 2013年05月06日 22:53:55
On Mon, May 6, 2013 at 3:53 PM, Michael Droettboom <md...@st...> wrote:
> My understanding is that distutils builds up the commandline arguments for
> gcc in this order:
>
> 1) From Python's Makefile.
> 2) From environment variables
> 3) From whatever was added by the setup.py script
>
> It looks like you have some extra stuff in (1), namely
>
> -L/usr/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu
>
> You can find the Python Makefile that is being used to source this
> information here:
>
>>>> from distutils import sysconfig
>>>> sysconfig.get_makefile_filename()
This gives:
In [1]: from distutils import sysconfig
In [2]: sysconfig.get_makefile_filename()
Out[2]: '/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/profile/eoul/lib/python2.7/config/Makefile'
>
> You can edit that file, though obviously that's a bit of a hack.
It contains the lines:
CPPFLAGS= -I. -IInclude -I$(srcdir)/Include -I/usr/include/x86_64-linux-gnu
LDFLAGS= -L/usr/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu
So indeed this is causing it. I think this comes from building our own
Python, which I do with:
----------------------
#!/bin/bash
set -e
export arch=$(dpkg-architecture -qDEB_HOST_MULTIARCH)
export LDFLAGS="-L/usr/lib/$arch -L/lib/$arch"
export CFLAGS="-I/usr/include/$arch"
export CPPFLAGS="-I/usr/include/$arch"
# Fix for #21:
export HAS_HG="no"
./configure --prefix=${PYTHONHPC_PREFIX}
---------------------------
And this is a bit of a hack too, Ubuntu specific etc. I think I should
start fixing things here.
It just wouldn't occur to me, that remains of how I built Python would
bite me later when building
matplotlib.
So to test if modifying the Python makefile fixes it, I did:
--- Makefile.old 2013年05月06日 16:26:25.426440205 -0600
+++ Makefile 2013年05月06日 16:27:05.282439550 -0600
@@ -73,8 +73,8 @@
 # Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
 # be able to build extension modules using the directories specified in the
 # environment variables
-CPPFLAGS= -I. -IInclude -I$(srcdir)/Include -I/usr/include/x86_64-linux-gnu
-LDFLAGS= -L/usr/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu
+CPPFLAGS= -I. -IInclude -I$(srcdir)/Include
+LDFLAGS=
 LDLAST=
 SGI_ABI=
 CCSHARED= -fPIC
but mpl build system still shows the system one. The _png.so is built with:
[matplotlib] g++ -pthread -shared
-L/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/freetype/lfqj/lib
-L/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/png/qhle/lib
-Wl,-rpath=/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/png/qhle/lib
-I/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/png/qhle/include
-I/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/freetype/lfqj/include
-I/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/freetype/lfqj/include/freetype2
build/temp.linux-x86_64-2.7/src/_png.o
build/temp.linux-x86_64-2.7/src/mplutils.o
build/temp.linux-x86_64-2.7/CXX/IndirectPythonInterface.o
build/temp.linux-x86_64-2.7/CXX/cxxsupport.o
build/temp.linux-x86_64-2.7/CXX/cxx_extensions.o
build/temp.linux-x86_64-2.7/CXX/cxxextensions.o -L/usr/local/lib
-L/usr/lib -lpng12 -lz -lstdc++ -lm -o
build/lib.linux-x86_64-2.7/matplotlib/_png.so
Which in my opinion looks good -- my own version of PNG is offered
first on the gcc command line. But the -lpng12 part spoils it --- that
forces gcc to use the systemone, because my own version is newer.
So I think that part of the problem gets fixed by modifying the Python
Makefile, but the other part of the problem is how to force distutils
to look for my PNG version before the systemwide. Any ideas?
Maybe it is something that is added by the mpl setup.py script.
>
> I've run into this problem before, and there doesn't seem to be any good way
> around it -- i.e. there doesn't seem to be a way to insert local environment
> variables in front of the global Python configuration. Reason number #47
> why distutils is a poor build system for C/C++ code.
This is amazingly broken.
Ondrej
From: Michael D. <md...@st...> - 2013年05月06日 21:54:33
My understanding is that distutils builds up the commandline arguments 
for gcc in this order:
 1) From Python's Makefile.
 2) From environment variables
 3) From whatever was added by the setup.py script
It looks like you have some extra stuff in (1), namely
-L/usr/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu
You can find the Python Makefile that is being used to source this 
information here:
 >>> from distutils import sysconfig
 >>> sysconfig.get_makefile_filename()
You can edit that file, though obviously that's a bit of a hack.
I've run into this problem before, and there doesn't seem to be any good 
way around it -- i.e. there doesn't seem to be a way to insert local 
environment variables in front of the global Python configuration. 
Reason number #47 why distutils is a poor build system for C/C++ code.
Mike
On 05/06/2013 05:03 PM, Ondřej Čertík wrote:
> On Mon, May 6, 2013 at 7:18 AM, Michael Droettboom <md...@st...> wrote:
>> On 05/03/2013 02:41 PM, Ondřej Čertík wrote:
>>> Hi,
>>>
>>> As part of building matplotlib for the one python based distribution [1],
>>> I want to always link against our own version of libpng, even if there
>>> is some other systemwide version available. I am on linux (Ubuntu).
>>>
>>> Currently, here is what I am doing:
>>>
>>> CFLAGS="-I$PNG/include -I$FREETYPE/include
>>> -I$FREETYPE/include/freetype2" LDFLAGS="-L$FREETYPE/lib -L$PNG/lib
>>> -Wl,-rpath=$PNG/lib" $PYTHON/bin/python setup.py build
>>> $PYTHON/bin/python setup.py install
>> This *should* work. Can you provide a full build log of a clean build?
> Sure:
>
> https://gist.github.com/certik/5528134
>
> The build was produced by the "build.sh" script, also in the gist.
>
> On the line 48 (https://gist.github.com/certik/5528134#file-mpl_log-txt-L48)
> you can see where our own PNG lib is:
>
> [matplotlib] lrwxrwxrwx 1 ondrej cnls 11 May 3 11:48
> /auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/png/qhle/lib/libpng.so
> -> libpng16.so
> [matplotlib] lrwxrwxrwx 1 ondrej cnls 18 May 3 11:48
> /auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/png/qhle/lib/libpng16.so
> -> libpng16.so.16.2.0
>
> as printed by the line 5 in build.sh:
>
> echo "Our PNG library:"
> ls -l $PNG/lib/libpng*.so
>
>
> The actual mpl build starts at the line 52
> (https://gist.github.com/certik/5528134#file-mpl_log-txt-L52). As you
> can see, it found the systemwide PNG lib:
>
> [matplotlib] OPTIONAL BACKEND DEPENDENCIES
> [matplotlib] libpng: 1.2.46
>
> and just to verify this, at the line 2636
> (https://gist.github.com/certik/5528134#file-mpl_log-txt-L2636) I
> print:
>
> echo "The linked PNG library:"
> ldd $PYTHON/lib/python2.7/site-packages/matplotlib/_png.so
>
> which gives:
>
> [matplotlib] The linked PNG library:
> [matplotlib] linux-vdso.so.1 => (0x00007fffd8bc1000)
> [matplotlib] libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0
> (0x00007f1fd0c0a000)
> [matplotlib] libstdc++.so.6 =>
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f1fd090a000)
> [matplotlib] libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
> (0x00007f1fd06f3000)
> [matplotlib] libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
> (0x00007f1fd04d6000)
> [matplotlib] libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1fd0117000)
> [matplotlib] libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f1fcfeff000)
> [matplotlib] libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1fcfc03000)
> [matplotlib] /lib64/ld-linux-x86-64.so.2 (0x00007f1fd107e000)
>
> So the systemwide png /lib/x86_64-linux-gnu/libpng12.so.0 is linked instead:
>
> ondrej@kittiwake:~$ ls -l /lib/x86_64-linux-gnu/libpng12.so.0
> lrwxrwxrwx 1 root root 18 Apr 5 2012
> /lib/x86_64-linux-gnu/libpng12.so.0 -> libpng12.so.0.46.0
>
> as you can see, it is exactly the one as advertised by the mpl build
> info above. So the mpl build seems consistent,
> and the bug is that it finds the systemwide version before our own version.
>
> Ondrej
From: Ondřej Č. <ond...@gm...> - 2013年05月06日 21:03:59
On Mon, May 6, 2013 at 7:18 AM, Michael Droettboom <md...@st...> wrote:
> On 05/03/2013 02:41 PM, Ondřej Čertík wrote:
>> Hi,
>>
>> As part of building matplotlib for the one python based distribution [1],
>> I want to always link against our own version of libpng, even if there
>> is some other systemwide version available. I am on linux (Ubuntu).
>>
>> Currently, here is what I am doing:
>>
>> CFLAGS="-I$PNG/include -I$FREETYPE/include
>> -I$FREETYPE/include/freetype2" LDFLAGS="-L$FREETYPE/lib -L$PNG/lib
>> -Wl,-rpath=$PNG/lib" $PYTHON/bin/python setup.py build
>> $PYTHON/bin/python setup.py install
> This *should* work. Can you provide a full build log of a clean build?
Sure:
https://gist.github.com/certik/5528134
The build was produced by the "build.sh" script, also in the gist.
On the line 48 (https://gist.github.com/certik/5528134#file-mpl_log-txt-L48)
you can see where our own PNG lib is:
[matplotlib] lrwxrwxrwx 1 ondrej cnls 11 May 3 11:48
/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/png/qhle/lib/libpng.so
-> libpng16.so
[matplotlib] lrwxrwxrwx 1 ondrej cnls 18 May 3 11:48
/auto/nest/nest/u/ondrej/repos/python-hpcmp2/opt/png/qhle/lib/libpng16.so
-> libpng16.so.16.2.0
as printed by the line 5 in build.sh:
echo "Our PNG library:"
ls -l $PNG/lib/libpng*.so
The actual mpl build starts at the line 52
(https://gist.github.com/certik/5528134#file-mpl_log-txt-L52). As you
can see, it found the systemwide PNG lib:
[matplotlib] OPTIONAL BACKEND DEPENDENCIES
[matplotlib] libpng: 1.2.46
and just to verify this, at the line 2636
(https://gist.github.com/certik/5528134#file-mpl_log-txt-L2636) I
print:
echo "The linked PNG library:"
ldd $PYTHON/lib/python2.7/site-packages/matplotlib/_png.so
which gives:
[matplotlib] The linked PNG library:
[matplotlib] linux-vdso.so.1 => (0x00007fffd8bc1000)
[matplotlib] libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0
(0x00007f1fd0c0a000)
[matplotlib] libstdc++.so.6 =>
/usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f1fd090a000)
[matplotlib] libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
(0x00007f1fd06f3000)
[matplotlib] libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007f1fd04d6000)
[matplotlib] libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1fd0117000)
[matplotlib] libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f1fcfeff000)
[matplotlib] libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1fcfc03000)
[matplotlib] /lib64/ld-linux-x86-64.so.2 (0x00007f1fd107e000)
So the systemwide png /lib/x86_64-linux-gnu/libpng12.so.0 is linked instead:
ondrej@kittiwake:~$ ls -l /lib/x86_64-linux-gnu/libpng12.so.0
lrwxrwxrwx 1 root root 18 Apr 5 2012
/lib/x86_64-linux-gnu/libpng12.so.0 -> libpng12.so.0.46.0
as you can see, it is exactly the one as advertised by the mpl build
info above. So the mpl build seems consistent,
and the bug is that it finds the systemwide version before our own version.
Ondrej
From: Michael D. <md...@st...> - 2013年05月06日 13:19:12
On 05/03/2013 02:41 PM, Ondřej Čertík wrote:
> Hi,
>
> As part of building matplotlib for the one python based distribution [1],
> I want to always link against our own version of libpng, even if there
> is some other systemwide version available. I am on linux (Ubuntu).
>
> Currently, here is what I am doing:
>
> CFLAGS="-I$PNG/include -I$FREETYPE/include
> -I$FREETYPE/include/freetype2" LDFLAGS="-L$FREETYPE/lib -L$PNG/lib
> -Wl,-rpath=$PNG/lib" $PYTHON/bin/python setup.py build
> $PYTHON/bin/python setup.py install
This *should* work. Can you provide a full build log of a clean build?
Mike
From: Bakhtiyor Z. <bak...@ma...> - 2013年05月06日 12:39:02
 Dear Python users,
I am having difficulty with numerically scaling to match line coordinates vs grid cell size coordinates. I want to calculate the following function: F = distance_of_crossed_line x intersected_cell_value
The problem here is that when I calculate crossed_line_length in line coordinates that will unmatch vs grid coordinate, which is also another x,y with step e.g., dx=dy=2.5 each grid size. I want to do numerical calculation , say, F(distance, intersected_grid_value) function where, intersected_grid_value - values in intersected grid, distance - intersected_line_length (given below or can be found http://stackoverflow.com/questions/16377826/distance-for-each-intersected-points-of-a-line-in-increased-order-in-2d-coordina )
import numpy as np
import scipy as sp
def distance_of_crossed_line(x0, x1, y0, y1):
    # slope
    m = (y1 - y0) / (x1 - x0)
    # Boundary of the selected points
    x_ceil = np.ceil(min(x0, x1))
    x_floor = np.floor(max(x0, x1))
    y_ceil = np.ceil(min(y0, y1))
    y_floor = np.floor(max(y0, y1))
    # calculate all intersected x coordinate
    x = np.arange(x_ceil, x_floor + 1)
    y = m * (x - x0) + y0
    ax = zip(x, y)
    # calculate all intersected y coordinate
    y = np.arange(y_ceil, y_floor + 1)
    x = (y - y0) / m + x0
    ax.extend(zip(x, y))
    ax.append((x0, y0))
    ax.append((x1, y1))
    ax.sort()
    # Transpose
    ax = np.array(ax).T
    # Calculate difference of intersections in X
    dist_x = np.diff(ax[0])
    # Calculate difference of intersections in Y
    dist_y = np.diff(ax[1])
    return np.sqrt(dist_x**2 + dist_y**2)
# PLEASE, note that line points are different from 2D array axis. they should be matched with each other. 
# 2D array.
d_array = np.array[[4.5, 4.5, 4.5, 3.4, 2.5],[ 3.9, 4.5, 5.2, 4.5, 3.4],[3.9, 3.9, 2.5, 2.2, 1.9]]
# Two sample points as a line
x = np.array([ -80, -40 ])
y = np.array([ 60, 55 ])
# The problem: 
F = intersected_line_length * array_grid_values_where_line_crossed_area
* It is not necessary for me to overlay lines onto grid cells properly, JUST, I need to calculate numerically accurate F function Thanks for the answer and guidance in advance,
-- 
Bakhtiyor Zokhidov
From: Colin M. <cj...@co...> - 2013年05月06日 12:09:44
Hi Tony, thanks for the reply.
I was using 1.2.0 and just upgraded to 1.2.1 but the problem persists. 
I ran the example code from the link and it hangs after 350-400 
frames. Also, I got an error when running the code as it is posted and 
had to add:
import matplotlib
matplotlib.use("Agg")
to get it to work. Is this an incorrect setting I'm using?
Colin
Quoting Tony Yu <ts...@gm...>:
> On Sun, May 5, 2013 at 7:12 PM, Colin McAuliffe <cj...@co...>wrote:
>
>> Hello all,
>>
>> I'm having an issue with FuncAnimation with ffmpeg. For a small number
>> of frames everything works fine, but for some reason with more than
>> 600 frames the program hangs indefinitely. Is there some kind of frame
>> limit for FuncAmimation or is there a mistake in the arguements I am
>> passing?
>>
>
> Hi Colin,
>
> Which version of Matplotlib are you running? This sounds similar to a bug
> addressed by the following change:
>
> https://github.com/matplotlib/matplotlib/pull/989
>
> This change has already made it into the current release (v1.2).
>
> Best,
> -Tony
>
-- 
Colin McAuliffe
PhD Candidate
Columbia University
Department of Civil Engineering and Engineering Mechanics
From: Tony Yu <ts...@gm...> - 2013年05月06日 04:57:26
On Sun, May 5, 2013 at 7:12 PM, Colin McAuliffe <cj...@co...>wrote:
> Hello all,
>
> I'm having an issue with FuncAnimation with ffmpeg. For a small number
> of frames everything works fine, but for some reason with more than
> 600 frames the program hangs indefinitely. Is there some kind of frame
> limit for FuncAmimation or is there a mistake in the arguements I am
> passing?
>
Hi Colin,
Which version of Matplotlib are you running? This sounds similar to a bug
addressed by the following change:
https://github.com/matplotlib/matplotlib/pull/989
This change has already made it into the current release (v1.2).
Best,
-Tony
From: Colin M. <cj...@co...> - 2013年05月06日 00:12:26
Hello all,
I'm having an issue with FuncAnimation with ffmpeg. For a small number 
of frames everything works fine, but for some reason with more than 
600 frames the program hangs indefinitely. Is there some kind of frame 
limit for FuncAmimation or is there a mistake in the arguements I am 
passing?
ani = ani.FuncAnimation(fig, animate,np.range(1,700), 
interval=25,blit=True, init_func=init)
Thanks and all the best
Colin
-- 
Colin McAuliffe
PhD Candidate
Columbia University
Department of Civil Engineering and Engineering Mechanics
From: Ondřej Č. <ond...@gm...> - 2013年05月03日 18:52:29
On Fri, May 3, 2013 at 12:41 PM, Ondřej Čertík <ond...@gm...> wrote:
> Hi,
>
> As part of building matplotlib for the one python based distribution [1],
I meant to say "for one python distribution", not "the one"...
Ondrej
From: Ondřej Č. <ond...@gm...> - 2013年05月03日 18:41:22
Hi,
As part of building matplotlib for the one python based distribution [1],
I want to always link against our own version of libpng, even if there
is some other systemwide version available. I am on linux (Ubuntu).
Currently, here is what I am doing:
CFLAGS="-I$PNG/include -I$FREETYPE/include
-I$FREETYPE/include/freetype2" LDFLAGS="-L$FREETYPE/lib -L$PNG/lib
-Wl,-rpath=$PNG/lib" $PYTHON/bin/python setup.py build
$PYTHON/bin/python setup.py install
Where $PNG and $FREETYPE points to our own versions. On a computer
with no systemwide version of png, this works great. Question:
1) If I don't specify the -rpath option, then libpng.so will fail to
be found at runtime. Is there any other recommended way to go around
this? I don't want to use LD_LIBRARY_PATH.
On a computer with systemwide version available, unfortunately the
systemwide version gets picked up instead. I think it's because of
this:
pkg-config --libs --cflags libpng
-I/usr/include/libpng12 -lpng12
so matplotlib simply calls this (right?) and uses the systemwide
version. Question:
2) How do I force matplotlib to use my own version instead?
I would highly appreciate any input, especially on 2). We have our own
issue open for this at [2] if you are interested for the background.
The merged mpl PR [3] is a little related, but doesn't answer my
questions.
Thanks,
Ondrej
[1] https://github.com/hashdist/python-hpcmp2/
[2] https://github.com/hashdist/python-hpcmp2/issues/53
[3] https://github.com/matplotlib/matplotlib/pull/1884
From: Felix P. <fe...@ne...> - 2013年05月03日 16:05:18
H, I'm using sfmath, too. I actually wrote a helper function to switch fonts. The preambles are the result of long-term trial and error. Normally, my preambles include some more custom commands which I left out here because they would be distracting. I always wondered why matplotlib doesn't do this kind of font switching out of the box.
def setfont(font=font_default,unicode=True):
 r"""
 Set Matplotlibs rcParams to use LaTeX for font rendering.
 Revert all changes by calling rcdefault() from matplotlib.
 
 Parameters:
 -----------
 font: string
 "Helvetica"
 "Times"
 "Computer Modern"
 
 usetex: Boolean
 Use unicode. Default: False. 
 """
 
 # Use TeX for all figure text!
 plt.rc('text', usetex=True)
 font = font.lower().replace(" ","")
 if font == 'times':
 # Times
 font = {'family':'serif', 'serif':['Times']}
 preamble = r"""
 \usepackage{color}
 \usepackage{mathptmx}
 """
 elif font == 'helvetica':
 # Helvetica
 # set serif, too. Otherwise setting to times and then
 # Helvetica causes an error.
 font = {'family':'sans-serif','sans-serif':['Helvetica'],
 'serif':['cm10']}
 preamble = r"""
 \usepackage{color}
 \usepackage[tx]{sfmath}
 \usepackage{helvet}
 """
 else:
 # Computer modern serif
 font = {'family':'serif', 'serif':['cm10']}
 preamble = r"""
 \usepackage{color}
 """
 
 if unicode:
 # Unicode for Tex
 #preamble = r"""\usepackage[utf8]{inputenc}""" + preamble
 # inputenc should be set automatically
 plt.rcParams['text.latex.unicode']=True
 
 #print font, preamble
 plt.rc('font',**font)
 plt.rcParams['text.latex.preamble'] = preamble
Am 03.05.2013 um 16:08 schrieb Juergen Hasch <py...@el...>:
>> 
>> The solution I use when I want all sans-serif out of TeX is to use the cmbright package, which can be turned on by adding:
>> 
>> rc('text.latex', preamble=r'\usepackage{cmbright}')
>> 
>> That may require installing the cmbright LaTeX package if you don't already have it.
> 
> I am using the sfmath package for this purpose.
> 
> There is a nice comparision of the different approaches to get sans-serif math fonts at the bottom of the sfmath page: 
> http://dtrx.de/od/tex/sfmath.html
> 
> 
> 
> ------------------------------------------------------------------------------
> Get 100% visibility into Java/.NET code with AppDynamics Lite
> It's a free troubleshooting tool designed for production
> Get down to code-level detail for bottlenecks, with <2% overhead.
> Download for free and get started troubleshooting in minutes.
> http://p.sf.net/sfu/appdyn_d2d_ap2
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
1 message has been excluded from this view by a project administrator.

Showing results of 141

<< < 1 .. 3 4 5 6 > >> (Page 5 of 6)
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 によって変換されたページ (->オリジナル) /