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


Showing 5 results of 5

From: Denis-Alexander E. <den...@gm...> - 2015年04月17日 16:37:48
Thanks everyone,
I finally got back to this, your suggestions worked like a charme,
example outputs can be seen here:
https://github.com/mne-tools/mne-python/pull/1972
Best,
Denis
2014年12月23日 12:27 GMT+01:00 Phil Elson <pel...@gm...>:
> If I understand your question fully, then yes it does.
> Have a play, and let us know how you get on.
>
> Best,
>
> Phil
>
> On 22 December 2014 at 11:15, Denis-Alexander Engemann <
> den...@gm...> wrote:
>
>> Thanks Phil,
>>
>> just to make sure I inderstand the logic of PathPatch. Does it cut out
>> vertices / paths that are detected to be inside an outline as the star in
>> this example?
>>
>> -Denis
>>
>>
>> 2014年12月22日 12:09 GMT+01:00 Phil Elson <pel...@gm...>:
>>
>>> Sorry its taken so long to get an answer, but essentially you want to
>>> concatenate the outer coordinates with the inner ones (reversed) to
>>> indicate that it is a hole. There is a pretty (simple) useful example that
>>> I added a few years ago for demonstrating the use of paths for markers:
>>> http://matplotlib.org/examples/pylab_examples/marker_path.html
>>>
>>> Constructing a patch from a path is as simple as (untested):
>>>
>>> import matplotlib.patches as mpatches
>>> patch = mpatches.PathPatch(my_path, facecolor='red', edgecolor='yellow')
>>> axes.add_patch(patch)
>>>
>>>
>>> HTH,
>>>
>>> Phil
>>>
>>>
>>> On 19 December 2014 at 23:01, Denis-Alexander Engemann <
>>> den...@gm...> wrote:
>>>
>>>> Dear list,
>>>>
>>>> I would like to create a custom image clipping mask using patches. My
>>>> constraint is that my patch is required to have an outer and multiple inner
>>>> outlines.
>>>> To provide an analogy, think of a mask used for disguise where you
>>>> leave three holes, two for the eyes, one for the mouth.
>>>> I have the xy coordinates for the 'head', and the xy coordinates for
>>>> each of the holes that I don't want to be hidden by the ensuing clipping
>>>> mask.
>>>>
>>>> What's the matplotlib way to construct my desired path + patch from
>>>> that?
>>>> Note, it's important in my case to use a patch object. What I need to
>>>> do would not work by simply masking my image using a masked array.
>>>>
>>>> Any pointer would be highly appreciated --
>>>> Denis
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
>>>> from Actuate! Instantly Supercharge Your Business Reports and Dashboards
>>>> with Interactivity, Sharing, Native Excel Exports, App Integration &
>>>> more
>>>> Get technology previously reserved for billion-dollar corporations, FREE
>>>>
>>>> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
>>>> _______________________________________________
>>>> Matplotlib-users mailing list
>>>> Mat...@li...
>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>>
>>>>
>>>
>>
>
From: Nicolas P. R. <Nic...@in...> - 2015年04月17日 11:38:15
[Apology for cross-posting]
Dear all,
EuroScipy 2015, the annual conference on Python in science will take place in Cambridge, UK on 26-30 August 2015. The conference features two days of tutorials followed by two days of scientific talks & posters and an extra day dedicated to developer sprints. It is the major event in Europe in the field of technical/scientific computing within the Python ecosystem. Data scientists, analysts, quants, PhD's, scientists and students from more than 20 countries attended the conference last year.
 
The topics presented at EuroSciPy are very diverse, with a focus on advanced software engineering and original uses of Python and its scientific libraries, either in theoretical or experimental research, from both academia and the industry.
Submissions for posters, talks & tutorials (beginner and advanced) are welcome on our website at http://www.euroscipy.org/2015/
Sprint proposals should be addressed directly to the organisation at eur...@py...
Important dates
Mar 24, 2015	Call for talks, posters & tutorials
Apr 30, 2015	Talk and tutorials submission deadline
May 1, 2015	Registration opens
May 30, 2015	Final program announced
Jun 15, 2015	Early-bird registration ends
Aug 26-27, 2015	Tutorials
Aug 28-29, 2015	Main conference
Aug 30, 2015		Sprints
We look forward to an exciting conference and hope to see you in Cambridge
The EuroSciPy 2015 Team - http://www.euroscipy.org/2015/
From: Fabrice S. <si...@lm...> - 2015年04月17日 08:04:58
Le vendredi 17 avril 2015, oyster a écrit :
> Two 8bpp(Gimp, xnview say so) graylevel png files can be downloaded
> The first (ramp-gray.png) which gives right array shape is
> http://bbs.blendercn.org/data/attachment/forum/201504/17/090627ejhixti8vdthdnnn.png
> The second one (python-gray.png) which gives 'wrong' array shape, at
> least to me, is
> http://bbs.blendercn.org/data/attachment/forum/201504/16/222351w3952n3o9968m9a5.png
> 
> [code]
> from pylab import *
> 
> imgRampPng=imread('ramp-gray.png')
> print (imgRampPng.shape) #(1, 255), that is right
> print (imgRampPng.min(),imgRampPng.max()) #(0.0, 0.99607843)
> print ()
> 
> imgGrayPng=imread('python-gray.png')
> print (imgGrayPng.shape) #(128, 128, 3), *but I suppose it should
> be (128, 128)*
> print (imgGrayPng.min(),imgGrayPng.max()) #(0.0, 0.98823529)
> print ()
> Ch1=imgGrayPng[:,:,0]
> Ch2=imgGrayPng[:,:,1]
> Ch3=imgGrayPng[:,:,2]
> print (Ch1.min(), Ch1.max()) #(0.0, 0.98823529)
> print (Ch2.min(), Ch2.max()) #(0.0, 0.98823529)
> print (Ch3.min(), Ch3.max()) #(0.0, 0.98823529) #that is to say,
> Ch1/2/3 hold same data
> print ()
> [/code]
Did you read my answer from yesterday ? your python-gray.png uses a
color palette, the integer values stored in file are indexes to the
(RGB) values given in the palette. Matplotlib is doing right in
converting the indexes to the RGB values.
The color palette represents here the grayscale, that's why all channel
are equal. But the data is stored in the compact palette way.
How were the two files produced?
-- 
Fabrice
From: Maik H. <mai...@b-...> - 2015年04月17日 05:46:26
Hi,
with normal polar plot it would work, but there is the problem with the 
half plot. So I use AxisArtist already. The segfault is caused by 
GridHelperCurveLinear and it appears on all my Computers here Python 2.7 
(2 x Win7 64Bit, 1xWin7 32Bit, 2x Linux 64Bit) and mpl 1.4.2
The current solution would work for me, if I could change the axis tick 
labels created with axisartist.
Maik
Am 12.04.2015 um 03:02 schrieb Thomas Caswell:
> Malk,
>
> This is a bit of a gap in mpl currently (but has come up a couple of times (
> https://github.com/matplotlib/matplotlib/issues/4217,
> https://github.com/matplotlib/matplotlib/issues/2203, and
> http://matplotlib.org/devdocs/devel/MEP/MEP24.html).
>
> One of the hold ups has been lack of a developer that uses polar plots
> day-to-day and a lack of really clear use cases. I think we have three (at
> least) distinct use cases.
>
> 1. origin always an 0, negative radius rotates by pi, always full 2pi
> around, always solid circle (no inner axes) (useful for plotting bunches of
> vectors against each other)
> 2. center is at arbitrary 'r', values less than 'origin' are just not
> shown, always full 2pi, no inner axes (use for for dB plots showing power
> as function of angle)
> 3. inner axes with arbitrary origin, possibly not full 2pi
>
> It is not immediately clear to me if these can all be done with the same
> projection or even if they can be done with the 'standard' Axes class or if
> we need to user AxesArtist here.
>
> This discussion should probably move to MEP24/the devel list.
>
> What version of mpl are you using? Your example causes seg-faults (!) on
> my system, but I have not sorted out why (may be really strange install
> issues on my end).
>
> Tom
>
> On Thu, Apr 9, 2015 at 6:08 AM Maik Hoffmann <mai...@b-...> wrote:
>
>> Hello,
>> I'm using mpl_toolkits.axisartist.floating_axes.GridHelperCurveLinear
>> for creating half-polar plots from 180 degree measurements for receive
>> sensitivity.
>>
>> Working with the measurement values itself is no problem if I let the
>> values scaling start at zero.
>> If I use normalized values I can plot it also, but if I transform it
>> into the dB scale I got a segfault in this lib.
>>
>> I provide an example. For my problems I would like to have a solution
>> that I can either use r limit from -30 to 0 (f3) or changing the tick
>> labels in figure f2.
>>
>> And by the way is there a possibility that the if i want to plot data in
>> the range from 80 to 120, that rlim(80,120) would set the 80 to the
>> centerpoint? At the moment I got only a small stripe.
>>
>> [code]
>> """Demo of polar plot of arbitrary theta. This is a workaround for MPL's
>> polar plot limitation
>> to a full 360 deg.
>>
>> Based on
>> http://matplotlib.org/mpl_toolkits/axes_grid/examples/
>> demo_floating_axes.py
>>
>> get from
>> https://github.com/neuropy/neuropy/blob/master/neuropy/
>> scripts/polar_demo.py
>> TODO: license / copyright
>> """
>>
>> from __future__ import division
>> from __future__ import print_function
>>
>> import numpy as np
>> import matplotlib.pyplot as plt
>>
>> from matplotlib.transforms import Affine2D
>> from matplotlib.projections import PolarAxes
>> from mpl_toolkits.axisartist import angle_helper
>> from mpl_toolkits.axisartist.grid_finder import MaxNLocator
>> from mpl_toolkits.axisartist.floating_axes import GridHelperCurveLinear,
>> FloatingSubplot
>>
>>
>> def fractional_polar_axes(f, thlim=(0, 180), rlim=(0, 1), step=(30, 0.2),
>> thlabel='theta', rlabel='r', ticklabels=True,
>> theta_offset=0):
>> """Return polar axes that adhere to desired theta (in deg) and r
>> limits. steps for theta
>> and r are really just hints for the locators."""
>> th0, th1 = thlim # deg
>> r0, r1 = rlim
>> thstep, rstep = step
>>
>> tr_rotate = Affine2D().translate(theta_offset, 0)
>> # scale degrees to radians:
>> tr_scale = Affine2D().scale(np.pi/180., 1.)
>> #pa = axes(polar="true") # Create a polar axis
>> pa = PolarAxes
>> tr = tr_rotate + tr_scale + pa.PolarTransform()
>> theta_grid_locator = angle_helper.LocatorDMS((th1-th0)//thstep)
>> r_grid_locator = MaxNLocator((r1-r0)//rstep)
>> theta_tick_formatter = angle_helper.FormatterDMS()
>>
>> grid_helper = GridHelperCurveLinear(tr,
>> extremes=(th0, th1, r0, r1),
>> grid_locator1=theta_grid_locator,
>> grid_locator2=r_grid_locator,
>>
>> tick_formatter1=theta_tick_formatter,
>> tick_formatter2=None)
>>
>> a = FloatingSubplot(f, 111, grid_helper=grid_helper)
>>
>> f.add_subplot(a)
>>
>> # adjust x axis (theta):
>> a.axis["bottom"].set_visible(False)
>> a.axis["top"].set_axis_direction("bottom") # tick direction
>> a.axis["top"].toggle(ticklabels=ticklabels, label=bool(thlabel))
>> a.axis["top"].major_ticklabels.set_axis_direction("top")
>> a.axis["top"].label.set_axis_direction("top")
>>
>> # adjust y axis (r):
>> a.axis["left"].set_axis_direction("bottom") # tick direction
>> a.axis["right"].set_axis_direction("top") # tick direction
>> a.axis["left"].toggle(ticklabels=ticklabels, label=bool(rlabel))
>>
>> # add labels:
>> a.axis["top"].label.set_text(thlabel)
>> a.axis["left"].label.set_text(rlabel)
>>
>> # create a parasite axes whose transData is theta, r:
>> auxa = a.get_aux_axes(tr)
>> # make aux_ax to have a clip path as in a?:
>> auxa.patch = a.patch
>> # this has a side effect that the patch is drawn twice, and
>> possibly over some other
>> # artists. So, we decrease the zorder a bit to prevent this:
>> a.patch.zorder = -2
>>
>>
>> # add sector lines for both dimensions:
>> thticks = grid_helper.grid_info['lon_info'][0]
>> rticks = grid_helper.grid_info['lat_info'][0]
>> for th in thticks[1:-1]: # all but the first and last
>> auxa.plot([th, th], [r0, r1], '--', c='grey', zorder=-1)
>> for ri, r in enumerate(rticks):
>> # plot first r line as axes border in solid black only if it
>> isn't at r=0
>> if ri == 0 and r != 0:
>> ls, lw, color = 'solid', 2, 'black'
>> else:
>> ls, lw, color = 'dashed', 1, 'grey'
>> # From http://stackoverflow.com/a/19828753/2020363
>> auxa.add_artist(plt.Circle([0, 0], radius=r, ls=ls, lw=lw,
>> color=color, fill=False,
>> transform=auxa.transData._b, zorder=-1))
>>
>> return auxa
>>
>>
>> if __name__ == '__main__':
>> f1 = plt.figure(facecolor='white', figsize=(16/2.54, 12/2.54),
>> dpi=600)
>> a1 = fractional_polar_axes(f1, thlim=(-90, 90),step=(10,
>> 0.2),theta_offset=90)
>> # example spiral plot:
>> thstep = 10
>> th = np.arange(-90, 90+thstep, thstep) # deg
>> rstep = 1/(len(th)-1)
>> r = np.arange(0, 1+rstep, rstep)
>> a1.plot(th, r, 'b')
>>
>>
>> f1.show()
>>
>> f2 = plt.figure(facecolor='white', figsize=(16/2.54, 12/2.54),
>> dpi=600)
>> a2 = fractional_polar_axes(f2, thlim=(-90,
>> 90),rlim=(0,30),step=(10, 8),theta_offset=90)
>> # example spiral plot:
>> r2 = 20 * np.log10(r) +30
>> a2.plot(th, r2, 'b')
>>
>> f2.show()
>>
>> f3 = plt.figure(facecolor='white', figsize=(16/2.54, 12/2.54),
>> dpi=600)
>> a3 = fractional_polar_axes(f2, thlim=(-90, 90),rlim=(-30,0),
>> step=(10, 8),theta_offset=90)
>> # example spiral plot:
>> r3 = 20 * np.log10(r)
>> a3.plot(th, r2, 'b')
>>
>> f2.show()
>>
>> [\code]
>>
>> --
>>
>>
>> ------------------------------------------------------------
>> ------------------
>> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
>> Develop your own process in accordance with the BPMN 2 standard
>> Learn Process modeling best practices with Bonita BPM through live
>> exercises
>> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-
>> event?utm_
>> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>
-- 
wissenschaftlicher Mitarbeiter
Lehrstuhl Allgemeine Elektrotechnik und Messtechnik (AEMT)
Fakultät Maschinenbau, Elektrotechnik und Wirtschaftsingenieurwesen
Brandenburgische Technische Universität Cottbus
Siemens-Halske-Ring 14
D-03046 Cottbus
Tel.: +49-355-69-3425
Fax: +49-355-69-4104
http://www.tu-cottbus.de/fakultaet3/de/elektrotechnik-messtechnik/
From: oyster <lep...@gm...> - 2015年04月17日 01:22:06
Two 8bpp(Gimp, xnview say so) graylevel png files can be downloaded
The first (ramp-gray.png) which gives right array shape is
http://bbs.blendercn.org/data/attachment/forum/201504/17/090627ejhixti8vdthdnnn.png
The second one (python-gray.png) which gives 'wrong' array shape, at
least to me, is
http://bbs.blendercn.org/data/attachment/forum/201504/16/222351w3952n3o9968m9a5.png
[code]
from pylab import *
imgRampPng=imread('ramp-gray.png')
print (imgRampPng.shape) #(1, 255), that is right
print (imgRampPng.min(),imgRampPng.max()) #(0.0, 0.99607843)
print ()
imgGrayPng=imread('python-gray.png')
print (imgGrayPng.shape) #(128, 128, 3), *but I suppose it should
be (128, 128)*
print (imgGrayPng.min(),imgGrayPng.max()) #(0.0, 0.98823529)
print ()
Ch1=imgGrayPng[:,:,0]
Ch2=imgGrayPng[:,:,1]
Ch3=imgGrayPng[:,:,2]
print (Ch1.min(), Ch1.max()) #(0.0, 0.98823529)
print (Ch2.min(), Ch2.max()) #(0.0, 0.98823529)
print (Ch3.min(), Ch3.max()) #(0.0, 0.98823529) #that is to say,
Ch1/2/3 hold same data
print ()
[/code]

Showing 5 results of 5

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