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




Showing 6 results of 6

From: Eric F. <ef...@ha...> - 2015年06月23日 20:39:44
I would like to be able to publish plots that are updated as data are 
received by the server. I don't actually want any of the toolbar 
interactivity--I just want the updated plot to appear in the browser 
automatically. I suspect this can all be done quite easily using the 
webagg backend, but I have not yet figured it out by looking at the 
embedding_in_webagg.py example and the backend_webagg* code. I expect 
that stripping out the toolbar is straightforward, but what I don't 
understand is how to achieve the dynamic updates, preferably without 
using the animation framework, which I think would add unnecessary 
complexity.
Are there any other examples floating around that would help?
Thanks.
Eric
From: Thomas C. <tca...@gm...> - 2015年06月23日 19:56:37
One thing you can do which may work is to partition your plots 'by hand'.
It is not super elegant, but might get you the desired behavior. As long
as the number of partitions is low it shouldn't hurt performance _too_ much.
def z_jitter_plot(ax, x, y, partitions=10, **kwargs):
 labels = np.random.randint(0, partitions, len(y))
 z_levels = 1 + np.random.rand(partitions)
 lns = []
 for n, z in enumerate(z_levels):
 ln = ax.plot(x[labels==n], y[labels==n], zorder=z, **kwargs)
 lns.extend(ln)
 return lns
fig, ax = plt.subplots()
N = 2500
all_lns = []
for j, c in enumerate('rgbk'):
 x = np.linspace(0, 1, N)
 y = np.random.randn(N)
 lns = z_jitter_plot(ax, x, y, partitions=100, color=c, ls='',
markersize=52, marker='o')
 all_lns.extend(lns)
Throwing in `alpha=.5` might also help a bit.
You will have to manage the color cycle your self here as this plots many
lines (each of which wants to advance the color cycle) per data set.
Tom
On Tue, Jun 23, 2015 at 2:16 PM Benjamin Root <ben...@ou...> wrote:
> Right, when zorder is not explicitly specified, all the artists of the
> same type get the same default zorder (I think 2, but I can't remember). We
> then use a stable sort to determine the draw order, so two artists with the
> same zorder are drawn in the order that they were created (the exception
> being mplot3d, because it mucks about with zorders to achieve the 3d
> effect).
>
> Ben Root
>
> On Tue, Jun 23, 2015 at 1:53 PM, Jody Klymak <jk...@uv...> wrote:
>
>>
>> For my backend (nbagg), the order of the data determines the order of
>> drawing. So in the following, the third diamond covers the first two in
>> the first plot, but the first diamond covers them all in the second plot.
>> Perhaps not as elegant as a matrix zorder, but can achieve the effect you
>> are after.
>>
>> Cheers, Jody
>>
>> fig, ax = plt.subplots(2,1)
>> x = np.arange(3)
>> y = 0.*x
>> ax[0].plot(x,y,'d',markersize=52)
>> ax[0].set_xlim(-10.,10.)
>> ax[1].plot(x[[2,1,0]],y[[2,1,0]],'d',markersize=52)
>> ax[1].set_xlim(-10.,10.)
>>
>>
>> On Jun 23, 2015, at 9:44 AM, Benjamin Root <ben...@ou...> wrote:
>>
>> I see what you are getting at. The issue is that artists are first sorted
>> by the zorder and then drawn one at a time. The draw for a collection
>> artist is an at-once operation, it can't (currently) be split out and
>> interspersed with the draws from another artist. This is one of the major
>> limitations for mplot3d, as it would be nice to compose a 3d scene properly
>> so that everything is logically consistent.
>>
>> I have actually been working on some changes that would allow one to sort
>> the draws of individual elements of a collection, but I still haven't
>> figured out a way to "break out" the elements with other collection
>> elements in a way that doesn't break the current design or introduce major
>> performance penalties. Maybe I'll figure something out during SciPy2015.
>>
>> Cheers!
>> Ben Root
>>
>>
>> On Tue, Jun 23, 2015 at 5:44 AM, Simon Walker <
>> s.r...@go...> wrote:
>>
>>> When multiple datasets are plotted on the same axis, the points overlay
>>> each other making it hard to see the points under the most recent ones. One
>>> way to avoid this is to give each point a random zorder, randomising its
>>> position in the z axis. This way, points from the first dataset may overly
>>> points from the last dataset.
>>>
>>> This could be achieved nicely if the zorder keyword took an array so the
>>> random zorder values per point can be pre-computed, but currently it only
>>> accepts a single number for the whole dataset. Would this be a useful
>>> feature for others to have? How difficult would it be to implement?
>>>
>>> Thanks,
>>>
>>> Simon Walker
>>>
>>> ------------------------------------------------------------------------------
>>> Monitor 25 network devices or servers for free with OpManager!
>>> OpManager is web-based network management software that monitors
>>> network devices and physical & virtual servers, alerts via email & sms
>>> for fault. Monitor 25 devices for free with no restriction. Download now
>>> http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
>>> _______________________________________________
>>> Matplotlib-users mailing list
>>> Mat...@li...
>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> Monitor 25 network devices or servers for free with OpManager!
>> OpManager is web-based network management software that monitors
>> network devices and physical & virtual servers, alerts via email & sms
>> for fault. Monitor 25 devices for free with no restriction. Download now
>>
>> http://ad.doubleclick.net/ddm/clk/292181274;119417398;o_______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Monitor 25 network devices or servers for free with OpManager!
>> OpManager is web-based network management software that monitors
>> network devices and physical & virtual servers, alerts via email & sms
>> for fault. Monitor 25 devices for free with no restriction. Download now
>> http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>>
>
> ------------------------------------------------------------------------------
> Monitor 25 network devices or servers for free with OpManager!
> OpManager is web-based network management software that monitors
> network devices and physical & virtual servers, alerts via email & sms
> for fault. Monitor 25 devices for free with no restriction. Download now
> http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Benjamin R. <ben...@ou...> - 2015年06月23日 18:16:00
Right, when zorder is not explicitly specified, all the artists of the same
type get the same default zorder (I think 2, but I can't remember). We then
use a stable sort to determine the draw order, so two artists with the same
zorder are drawn in the order that they were created (the exception being
mplot3d, because it mucks about with zorders to achieve the 3d effect).
Ben Root
On Tue, Jun 23, 2015 at 1:53 PM, Jody Klymak <jk...@uv...> wrote:
>
> For my backend (nbagg), the order of the data determines the order of
> drawing. So in the following, the third diamond covers the first two in
> the first plot, but the first diamond covers them all in the second plot.
> Perhaps not as elegant as a matrix zorder, but can achieve the effect you
> are after.
>
> Cheers, Jody
>
> fig, ax = plt.subplots(2,1)
> x = np.arange(3)
> y = 0.*x
> ax[0].plot(x,y,'d',markersize=52)
> ax[0].set_xlim(-10.,10.)
> ax[1].plot(x[[2,1,0]],y[[2,1,0]],'d',markersize=52)
> ax[1].set_xlim(-10.,10.)
>
>
> On Jun 23, 2015, at 9:44 AM, Benjamin Root <ben...@ou...> wrote:
>
> I see what you are getting at. The issue is that artists are first sorted
> by the zorder and then drawn one at a time. The draw for a collection
> artist is an at-once operation, it can't (currently) be split out and
> interspersed with the draws from another artist. This is one of the major
> limitations for mplot3d, as it would be nice to compose a 3d scene properly
> so that everything is logically consistent.
>
> I have actually been working on some changes that would allow one to sort
> the draws of individual elements of a collection, but I still haven't
> figured out a way to "break out" the elements with other collection
> elements in a way that doesn't break the current design or introduce major
> performance penalties. Maybe I'll figure something out during SciPy2015.
>
> Cheers!
> Ben Root
>
>
> On Tue, Jun 23, 2015 at 5:44 AM, Simon Walker <
> s.r...@go...> wrote:
>
>> When multiple datasets are plotted on the same axis, the points overlay
>> each other making it hard to see the points under the most recent ones. One
>> way to avoid this is to give each point a random zorder, randomising its
>> position in the z axis. This way, points from the first dataset may overly
>> points from the last dataset.
>>
>> This could be achieved nicely if the zorder keyword took an array so the
>> random zorder values per point can be pre-computed, but currently it only
>> accepts a single number for the whole dataset. Would this be a useful
>> feature for others to have? How difficult would it be to implement?
>>
>> Thanks,
>>
>> Simon Walker
>>
>> ------------------------------------------------------------------------------
>> Monitor 25 network devices or servers for free with OpManager!
>> OpManager is web-based network management software that monitors
>> network devices and physical & virtual servers, alerts via email & sms
>> for fault. Monitor 25 devices for free with no restriction. Download now
>> http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>
>
> ------------------------------------------------------------------------------
> Monitor 25 network devices or servers for free with OpManager!
> OpManager is web-based network management software that monitors
> network devices and physical & virtual servers, alerts via email & sms
> for fault. Monitor 25 devices for free with no restriction. Download now
>
> http://ad.doubleclick.net/ddm/clk/292181274;119417398;o_______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
>
>
> ------------------------------------------------------------------------------
> Monitor 25 network devices or servers for free with OpManager!
> OpManager is web-based network management software that monitors
> network devices and physical & virtual servers, alerts via email & sms
> for fault. Monitor 25 devices for free with no restriction. Download now
> http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
From: Jody K. <jk...@uv...> - 2015年06月23日 17:53:20
For my backend (nbagg), the order of the data determines the order of drawing. So in the following, the third diamond covers the first two in the first plot, but the first diamond covers them all in the second plot. Perhaps not as elegant as a matrix zorder, but can achieve the effect you are after. 
Cheers, Jody
fig, ax = plt.subplots(2,1)
x = np.arange(3)
y = 0.*x
ax[0].plot(x,y,'d',markersize=52)
ax[0].set_xlim(-10.,10.)
ax[1].plot(x[[2,1,0]],y[[2,1,0]],'d',markersize=52)
ax[1].set_xlim(-10.,10.)
> On Jun 23, 2015, at 9:44 AM, Benjamin Root <ben...@ou...> wrote:
> 
> I see what you are getting at. The issue is that artists are first sorted by the zorder and then drawn one at a time. The draw for a collection artist is an at-once operation, it can't (currently) be split out and interspersed with the draws from another artist. This is one of the major limitations for mplot3d, as it would be nice to compose a 3d scene properly so that everything is logically consistent.
> 
> I have actually been working on some changes that would allow one to sort the draws of individual elements of a collection, but I still haven't figured out a way to "break out" the elements with other collection elements in a way that doesn't break the current design or introduce major performance penalties. Maybe I'll figure something out during SciPy2015.
> 
> Cheers!
> Ben Root
> 
> 
> On Tue, Jun 23, 2015 at 5:44 AM, Simon Walker <s.r...@go... <mailto:s.r...@go...>> wrote:
> When multiple datasets are plotted on the same axis, the points overlay each other making it hard to see the points under the most recent ones. One way to avoid this is to give each point a random zorder, randomising its position in the z axis. This way, points from the first dataset may overly points from the last dataset.
> 
> This could be achieved nicely if the zorder keyword took an array so the random zorder values per point can be pre-computed, but currently it only accepts a single number for the whole dataset. Would this be a useful feature for others to have? How difficult would it be to implement?
> 
> Thanks,
> 
> Simon Walker
> ------------------------------------------------------------------------------
> Monitor 25 network devices or servers for free with OpManager!
> OpManager is web-based network management software that monitors
> network devices and physical & virtual servers, alerts via email & sms
> for fault. Monitor 25 devices for free with no restriction. Download now
> http://ad.doubleclick.net/ddm/clk/292181274;119417398;o <http://ad.doubleclick.net/ddm/clk/292181274;119417398;o>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li... <mailto:Mat...@li...>
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users <https://lists.sourceforge.net/lists/listinfo/matplotlib-users>
> 
> ------------------------------------------------------------------------------
> Monitor 25 network devices or servers for free with OpManager!
> OpManager is web-based network management software that monitors 
> network devices and physical & virtual servers, alerts via email & sms 
> for fault. Monitor 25 devices for free with no restriction. Download now
> http://ad.doubleclick.net/ddm/clk/292181274;119417398;o_______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Benjamin R. <ben...@ou...> - 2015年06月23日 16:44:57
I see what you are getting at. The issue is that artists are first sorted
by the zorder and then drawn one at a time. The draw for a collection
artist is an at-once operation, it can't (currently) be split out and
interspersed with the draws from another artist. This is one of the major
limitations for mplot3d, as it would be nice to compose a 3d scene properly
so that everything is logically consistent.
I have actually been working on some changes that would allow one to sort
the draws of individual elements of a collection, but I still haven't
figured out a way to "break out" the elements with other collection
elements in a way that doesn't break the current design or introduce major
performance penalties. Maybe I'll figure something out during SciPy2015.
Cheers!
Ben Root
On Tue, Jun 23, 2015 at 5:44 AM, Simon Walker <s.r...@go...>
wrote:
> When multiple datasets are plotted on the same axis, the points overlay
> each other making it hard to see the points under the most recent ones. One
> way to avoid this is to give each point a random zorder, randomising its
> position in the z axis. This way, points from the first dataset may overly
> points from the last dataset.
>
> This could be achieved nicely if the zorder keyword took an array so the
> random zorder values per point can be pre-computed, but currently it only
> accepts a single number for the whole dataset. Would this be a useful
> feature for others to have? How difficult would it be to implement?
>
> Thanks,
>
> Simon Walker
>
> ------------------------------------------------------------------------------
> Monitor 25 network devices or servers for free with OpManager!
> OpManager is web-based network management software that monitors
> network devices and physical & virtual servers, alerts via email & sms
> for fault. Monitor 25 devices for free with no restriction. Download now
> http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Simon W. <s.r...@go...> - 2015年06月23日 09:44:17
When multiple datasets are plotted on the same axis, the points overlay each other making it hard to see the points under the most recent ones. One way to avoid this is to give each point a random zorder, randomising its position in the z axis. This way, points from the first dataset may overly points from the last dataset.
This could be achieved nicely if the zorder keyword took an array so the random zorder values per point can be pre-computed, but currently it only accepts a single number for the whole dataset. Would this be a useful feature for others to have? How difficult would it be to implement?
Thanks,
Simon Walker

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