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
(9) |
2
(1) |
3
(4) |
4
(4) |
5
(9) |
6
(5) |
7
(12) |
8
(5) |
9
(27) |
10
(10) |
11
(4) |
12
|
13
(6) |
14
(12) |
15
(16) |
16
(13) |
17
(9) |
18
(1) |
19
(2) |
20
(4) |
21
(9) |
22
(5) |
23
(2) |
24
(6) |
25
|
26
(1) |
27
(9) |
28
(7) |
29
(2) |
30
(9) |
|
|
From: Carl K. <ca...@pe...> - 2011-06-27 01:29:44
|
I am trying to graph bandwidth over time. I am trying to get a grip on the details of how my ISP throttles high amounts of traffic. like when I upload a 300 mb video. I am collecting data during the upload, but I am having trouble understanding the raw numbers. Pretty sure a graph will show me what I expect to see, and maybe help me get the exact numbers I am looking for: bandwidth drops to X after Y something. I am guessing this will easy for someone familiar with matplotlib. I have been looking at docs and example, cant figure it out. Thus my cry for help post. my data looks like this: uploadlog.csv: seconds from midnight, timestamp, bytes sent (accumulative over a 300mb upload) Here is something that calcs the deltas that I think I need. #!/usr/bin/python import datetime import csv import StringIO import pprint log="""56521.93324, 2011-06-24 15:42:01.933240, 0 56521.933569, 2011-06-24 15:42:01.933569, 1292 56521.933722, 2011-06-24 15:42:01.933722, 1488 56522.022575, 2011-06-24 15:42:02.022575, 16488 56522.023069, 2011-06-24 15:42:02.023069, 31488 56522.03704, 2011-06-24 15:42:02.037040, 46488 56522.079995, 2011-06-24 15:42:02.079995, 61488 56522.080119, 2011-06-24 15:42:02.080119, 76488 56522.116328, 2011-06-24 15:42:02.116328, 91488""" # reader = csv.reader(open('uploadlog.csv', 'rb')) reader = csv.reader(StringIO.StringIO(log)) i=0 dat = [] last_sec, last_bytes = 0,0 for row in reader: sec=float(row[0]) bytes_sent = int(row[2]) if last_sec: duration=sec - last_sec chunk = bytes_sent - last_bytes bps = chunk/duration dat.append( [chunk,duration,bps] ) last_sec = sec last_bytes = bytes_sent pprint.pprint(dat) """ [[1292, 0.00032900000223889947, 3927051.645008286], [196, 0.00015300000086426735, 1281045.7443976079], [15000, 0.08885300000110874, 168818.16033012758], [15000, 0.00049399999988963827, 30364372.476419158], [15000, 0.013971000000310596, 1073652.5660057638], [15000, 0.042954999997164123, 349202.65396322421], [15000, 0.00012399999832268804, 120967743.57177937], [15000, 0.036208999998052604, 414261.6476789398]] """ -- Carl K |
From: Benjamin R. <ben...@ou...> - 2011-06-27 00:44:53
|
On Sunday, June 26, 2011, Carl Karsten <ca...@pe...> wrote: > http://matplotlib.sourceforge.net/examples/api/radar_chart.html > > "Exception occurred rendering plot." > Without more information, we can't help you. What version of matplotlib are you using? On what OS? How did you install it? Do the tests pass? And which backend? Ben Root |
From: Carl K. <ca...@pe...> - 2011-06-26 23:50:33
|
http://matplotlib.sourceforge.net/examples/api/radar_chart.html "Exception occurred rendering plot." -- Carl K |
From: Eric F. <ef...@ha...> - 2011-06-24 19:48:16
|
On 06/24/2011 04:03 AM, Jonathan Slavin wrote: > import matplotlib.pyplot as plt > plt.ion() > fig = plt.gcf() > for obsid in obsids: > <do fitting> > plt.cla() > fig = plt.gcf() > ax = fig.add_axes([0.15,0.1,0.8,0.6]) > ax.plot(x,y) > plt.draw() > ans = raw_input('continue? ') > if ans == 'n': > break The behavior may depend on mpl version and backend, but with 1.0.1 or later, I think something like what you have will work with a little cleanup, e.g.: import matplotlib.pyplot as plt import numpy as np plt.ion() fig = plt.gcf() ax = fig.add_axes([0.15,0.1,0.8,0.6]) for i in range(3): ax.cla() ax.plot(np.random.rand(10)) plt.draw() raw_input("hit a key to proceed") Eric |
From: Eric F. <ef...@ha...> - 2011-06-24 19:27:52
|
On 06/24/2011 07:19 AM, Kaushik Ghose wrote: > Hi, > > I don't know for sure if this is matplotlib's fault. ipython's fault or Mac OS > X, but I ever since I upgraded to matplotlib 1.0.1 I have this problem that > ipython will exit with segfault after I close a figure. What version of ipython are you using? A new version with a completely different method of handling gui interaction, as with mpl, is about to be released. The change in method was made because of the fragility of the method (a separate thread) used up to and including 0.10.x. Eric > > I have not found what exactly causes the crash, but it can happen with the > simplest of figures. > > This is one of those annoying intermittent problems: I can't replicate it with a > sequence of steps. > > I can often run days with the same ipython shell, generating many many figures > without problems, and sometimes everytime I plot a figure, ipython segfaults out > after the figure is closed. > > The Mac OS X stack trace is attacked to the tracker ticket I opened > (https://sourceforge.net/tracker/?func=detail&aid=3328133&group_id=80706&atid=560720). > > Many thanks > -Kaushik > > ------------------------------------------------------------------------------ > All the data continuously generated in your IT infrastructure contains a > definitive record of customers, application performance, security > threats, fraudulent activity and more. Splunk takes this data and makes > sense of it. Business sense. IT sense. Common sense.. > http://p.sf.net/sfu/splunk-d2d-c1 > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Kaushik G. <Kau...@hm...> - 2011-06-24 17:19:38
|
Hi, I don't know for sure if this is matplotlib's fault. ipython's fault or Mac OS X, but I ever since I upgraded to matplotlib 1.0.1 I have this problem that ipython will exit with segfault after I close a figure. I have not found what exactly causes the crash, but it can happen with the simplest of figures. This is one of those annoying intermittent problems: I can't replicate it with a sequence of steps. I can often run days with the same ipython shell, generating many many figures without problems, and sometimes everytime I plot a figure, ipython segfaults out after the figure is closed. The Mac OS X stack trace is attacked to the tracker ticket I opened (https://sourceforge.net/tracker/?func=detail&aid=3328133&group_id=80706&atid=560720). Many thanks -Kaushik |
From: Jonathan S. <js...@cf...> - 2011-06-24 14:29:57
|
To all: I'm doing a series of fits and want to display the results of each in a figure before I go to the next one. I currently do roughly something like this (with a lot left out): import matplotlib.pyplot as plt plt.ion() fig = plt.gcf() for obsid in obsids: <do fitting> plt.cla() fig = plt.gcf() ax = fig.add_axes([0.15,0.1,0.8,0.6]) ax.plot(x,y) plt.draw() ans = raw_input('continue? ') if ans == 'n': break This works, sort of, except that the first plot is not shown until the second time I hit the raw_input line. So my question is, is there any way to make the figure display immediately when the draw() is executed? 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 ______________________________________________________________ |
From: wiswit <cha...@gm...> - 2011-06-24 09:25:21
|
and also, how can I make only one point for the scatter legend? if I use leg=ax1.legend(loc='upper left', numpoints=1) all the lines will disapper too... wiswit wrote: > > Dear all, > > I've made a plot (as attached). The problem is the frame of the legeng is > too big that It covers some part of the lines in the figure. > I used a 'x-samll' font size in the legend text, but the problem is that > the space between the lines of different texts is too big that the > whole frame of the legend becomes big. > > another question is, the font size of legend text can only be set as > 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | > 'xx-large' , but not specific numbers? > > Any ideas about this will be very much appreciated. > > > ############################################### the script: > fig1=plt.figure() > fig1.text(0.5,0.04,'Years since last > burn',ha='center',rotation='horizontal') > fig1.text(0.05,0.45,'Total biomass(gC > m-2)',va='center',rotation='vertical') > ax1=fig1.add_subplot(111) > for i in range(7): > > ax1.plot(np.arange(1,len(ns2['TOTAL_M'][i])+1),ns2['TOTAL_M'][i],g.pline[i],label=bsite.NSlist[i]) > ax1.plot(data[:,0],data[:,13],'k.',markersize=10,label='Goulden et > al.,2011') > ax1.plot(wdata[:,0][0:7],wdata[:,6][0:7],'r.',markersize=10,label='Wang et > al.,2003 Dry') > ax1.plot(wdata[:,0][7:14],wdata[:,6][7:14],'g.',markersize=10,label='Wang > et al.,2003 Wet') > leg=ax1.legend(loc='upper left') > ltext = leg.get_texts() > llines = leg.get_lines() > frame = leg.get_frame() > plt.setp(ltext, fontsize='x-small') > > > Best wishes, > > Chao > http://old.nabble.com/file/p31918421/CA-NS_BiomassCarbon_modelVSob.png > -- View this message in context: http://old.nabble.com/How-to-change-the-frame-size-of-legend--tp31918421p31918424.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: wiswit <cha...@gm...> - 2011-06-24 09:22:52
|
Dear all, I've made a plot (as attached). The problem is the frame of the legeng is too big that It covers some part of the lines in the figure. I used a 'x-samll' font size in the legend text, but the problem is that the space between the lines of different texts is too big that the whole frame of the legend becomes big. another question is, the font size of legend text can only be set as 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | 'xx-large' , but not specific numbers? Any ideas about this will be very much appreciated. ############################################### the script: fig1=plt.figure() fig1.text(0.5,0.04,'Years since last burn',ha='center',rotation='horizontal') fig1.text(0.05,0.45,'Total biomass(gC m-2)',va='center',rotation='vertical') ax1=fig1.add_subplot(111) for i in range(7): ax1.plot(np.arange(1,len(ns2['TOTAL_M'][i])+1),ns2['TOTAL_M'][i],g.pline[i],label=bsite.NSlist[i]) ax1.plot(data[:,0],data[:,13],'k.',markersize=10,label='Goulden et al.,2011') ax1.plot(wdata[:,0][0:7],wdata[:,6][0:7],'r.',markersize=10,label='Wang et al.,2003 Dry') ax1.plot(wdata[:,0][7:14],wdata[:,6][7:14],'g.',markersize=10,label='Wang et al.,2003 Wet') leg=ax1.legend(loc='upper left') ltext = leg.get_texts() llines = leg.get_lines() frame = leg.get_frame() plt.setp(ltext, fontsize='x-small') Best wishes, Chao http://old.nabble.com/file/p31918421/CA-NS_BiomassCarbon_modelVSob.png -- View this message in context: http://old.nabble.com/How-to-change-the-frame-size-of-legend--tp31918421p31918421.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: Kris M. <das...@gm...> - 2011-06-23 22:19:18
|
Hi all, I'm using matplotlib 1.0.1 from the enthought python distribution. When I try to use pcolormesh is ignores anything I give it for linestyle (always solid) and edgecolor (always black), as well as any non-integer linewidth. All these options work as I expect if I just use pcolor. An example script follows. Am I missing something? I would just use pcolor, but it takes minutes to render my data as opposed to seconds for pcolormesh. #!/usr/bin/env python import numpy as np import pylab as pl x=np.linspace(0,10,20) y=np.linspace(-5,5,25) X,Y=np.meshgrid(x,y) z=np.sin(Y)+X**1.1 pl.subplot(311) pl.pcolormesh(X, Y, z, edgecolor='g', linewidth=0.5, linestyle='dashed') pl.subplot(312) pl.pcolormesh(X, Y, z, edgecolor='g', linewidth=1, linestyle='dashed') pl.subplot(313) pl.pcolormesh(X, Y, z, edgecolor='g', linewidth=2, linestyle='dashed') pl.show() pl.subplot(311) pl.pcolor(X, Y, z, edgecolor='g', linewidth=0.5, linestyle='dashed') pl.subplot(312) pl.pcolor(X, Y, z, edgecolor='g', linewidth=1, linestyle='dashed') pl.subplot(313) pl.pcolor(X, Y, z, edgecolor='g', linewidth=2, linestyle='dashed') pl.show() Thanks, ~Kris -- "I think nature's imagination is so much greater than man's. She's never going to let us relax." -- Richard Feynman |
From: russdot <ru...@gm...> - 2011-06-23 20:46:06
|
Hello, I have a pcolormesh() plot that I would like to update when a user presses a key. Basically there are data files from 0..N and I want to update the plot to the next frame when a user presses the 'right' arrow. I have the keypress event working, I just don't know how to 'update' the data for the pcolormesh. I'm pretty new to matplotlib, so if anyone could help with this it would be greatly appreciated! Thanks! (Code snippet below) def press(event): if event.key=='right': data2D = readDataFile() #updates data2D #update pcolormesh somehow?? fig.canvas.draw() #X,Y,data2D are initially set here... fig = plt.figure() fig.canvas.mpl_connect('key_press_event', press) ax = fig.add_subplot(111) plt.pcolormesh(X, Y, data2D) plt.colorbar() -- View this message in context: http://old.nabble.com/How-to-update-pcolormesh-data---update-plot--tp31913409p31913409.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: Benjamin R. <ben...@ou...> - 2011-06-22 15:00:45
|
On Wed, Jun 22, 2011 at 9:15 AM, John Hunter <jd...@gm...> wrote: > On Wed, Jun 22, 2011 at 8:30 AM, Michael Droettboom <md...@st...> > wrote: > > matplotlib doesn't currently support gradients. Patches welcome! :) > It's > > probably a lot of work to get it working across all backends, but > following > > the pattern of how hatches are handled now would probably be a good > guide. > > There is however, the gradient hack, eg > > http://matplotlib.sourceforge.net/examples/pylab_examples/gradient_bar.html > > JDH > > There are also some neat tricks you can do with Agg filters. Here is an example: http://matplotlib.sourceforge.net/examples/pylab_examples/demo_agg_filter.html Ben Root |
From: John H. <jd...@gm...> - 2011-06-22 14:15:48
|
On Wed, Jun 22, 2011 at 8:30 AM, Michael Droettboom <md...@st...> wrote: > matplotlib doesn't currently support gradients. Patches welcome! :) It's > probably a lot of work to get it working across all backends, but following > the pattern of how hatches are handled now would probably be a good guide. There is however, the gradient hack, eg http://matplotlib.sourceforge.net/examples/pylab_examples/gradient_bar.html JDH |
From: Michael D. <md...@st...> - 2011-06-22 13:29:16
|
matplotlib doesn't currently support gradients. Patches welcome! :) It's probably a lot of work to get it working across all backends, but following the pattern of how hatches are handled now would probably be a good guide. Mike On 06/21/2011 07:18 PM, Paul Menzel wrote: > Dear Matplotlib folks, > > > is it possible in Matplotlib to add eye candy or gimmicks to the plots > like fading? For example if I want to just show a subpart(?) of a plot > this would like “cool”. (I am pretty sure that opinions differ if such > things are useful or not, but please leave this out of the discussion.) > > It looks like PGF/TikZ supports such things (manual [1], page 206) and > therefore I am wondering if Matplotlib can do this too? > > > Thanks, > > Paul > > > [1] http://www.ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf > > > ------------------------------------------------------------------------------ > EditLive Enterprise is the world's most technically advanced content > authoring tool. Experience the power of Track Changes, Inline Image > Editing and ensure content is compliant with Accessibility Checking. > http://p.sf.net/sfu/ephox-dev2dev > > > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Michael Droettboom Science Software Branch Space Telescope Science Institute Baltimore, Maryland, USA |
From: Matthias Q. <mat...@un...> - 2011-06-22 13:15:18
|
Hello, i have a small problem sharing axes with twinned subplots. Here is a code snippet: ax = fig.add_subplot(212, sharex = bx) ax.plot() grid() cx = ax.twinx() cx.plot() The problem is, that both axis are independent. So on the left side, the tick steps are 0.05 and on the right side 0.1. The gridlines of the ax plot also do not match to the tickmarks on the right side. How can i fix that? Greeting Matthias |
From: Paul M. <pau...@us...> - 2011-06-22 09:27:37
|
Am Dienstag, den 21.06.2011, 19:17 -0400 schrieb jos...@gm...: > On Tue, Jun 21, 2011 at 5:25 PM, Paul Menzel wrote: > > Am Dienstag, den 21.06.2011, 09:43 -0400 schrieb jos...@gm...: > >> On Tue, Jun 21, 2011 at 8:47 AM, Paul Menzel wrote: > > > >> > I want to plot all paths of a simple random walk and wrote the following > >> > recursive program based on the Path tutorial [1]. > >> > > >> > import matplotlib.pyplot as plt > >> > from matplotlib.path import Path > >> > import matplotlib.patches as patches > >> > > >> > def draw(a, b, c, d): > >> > verts = [ > >> > (a, b), > >> > (c, d), > >> > (0, 0), > >> > ] > >> > > >> > codes = [ > >> > Path.MOVETO, > >> > Path.LINETO, > >> > Path.CLOSEPOLY > >> > ] > >> > > >> > path = Path(verts, codes) > >> > patch = patches.PathPatch(path) > >> > ax.add_patch(patch) > >> > > >> > def irrpfad(a, b): > >> > if a < length: > >> > draw(a, b, a + 1., b + 1.) > >> > draw(a, b, a + 1., b - 1.) > >> > irrpfad(a + 1, b + 1) > >> > irrpfad(a + 1, b - 1) > >> > > >> > > >> > length = 5 # 20 not possible to run > >> > > >> > fig = plt.figure() > >> > ax = fig.add_subplot(111) > >> > irrpfad(0, 0) > >> > ax.set_xlim(0,length) > >> > ax.set_ylim(-length,length) > >> > plt.show() > >> > > >> > Using 20 for `length` stalls my system and the memory used seems to be > >> > over 1 GB. I guess this is what you guess using something recursive. > >> > What optimizations are there. I am drawing each line after another so > >> > probably too many separate paths instead of one. Being a Python noob I > >> > do not know if I can append something to a path. Looking at the API > >> > documentation [2] I did not see such a method. > >> > > >> > Being also new to Matplotlib I may have also overlooked more appropriate > >> > methods/classes. > >> > > >> > So to summarize my message, > >> > > >> > 1. How can I add lines to a path? > >> > 2. Are recursive functions bad in Python/Matplotlib? > >> > 3. Are there better approaches? > >> > >> I'm not sure what you are trying to show, but my impression is that you are > >> just producing the grid between integers (move up,down), > > > > Yeah, that is about right [1]. > > > >> and paths will not show up because the lines are all on top of each other. > > > > That is not true. My program displays everything correctly when using > > for example `length = 5`. > > > >> The number of all paths looks very large to me and even without matplotlib > >> overhead, this might soon run into problems. > > > > That is what thought too. > > > >> for example; > >> for length= 15; I get 65534 moves in the random walks, but only 240 unique moves > >> for length= 20; I get 2097150 moves in the random walks, but only 420 unique moves > >> plotting only unique moves is fast (count of moves might work to color the > >> amount of traffic on each move) > > > > I am sorry, I think that in my program no section is drawn more than > > once. > > each append below corresponds to one call to your draw function > > Do you want to draw all possible routes, or the road network? I am sorry. I now do understand your previous sentences correctly. Yes I am aware that patches overlap and I only need to draw the road network. > I only see the road network in the plot Yes that is correct and intended. > (and partially the traffic density with alpha<1). Nice suggestion. Thank you. > >> rw_moves = [] > >> def irrpfad2(a, b): > >> if a < length: > >> rw_moves.append((a, b, a + 1, b + 1)) > >> rw_moves.append((a, b, a + 1, b - 1)) > >> irrpfad2(a + 1, b + 1) > >> irrpfad2(a + 1, b - 1) > >> > >> length = 20 # 20 not possible to run > >> irrpfad2(0, 0) > > > > Thank you for the example, but now I need to somehow also add the codes > > to be able to pass this to Path. > > > >> I don't know any answer to the matplotlib specific part > > > > Thank you for your other answers. > > > >> > Please find the source also attached. I am using python-matplotlib > >> > 1.0.1-2 from Debian Sid/unstable. Thanks, Paul > >> > [1] http://matplotlib.sourceforge.net/users/path_tutorial.html > >> > [2] http://matplotlib.sourceforge.net/api/path_api.html#matplotlib.path.Path > > [3] https://secure.wikimedia.org/wikipedia/en/wiki/Random_walk |
From: Paul M. <pau...@us...> - 2011-06-21 23:18:58
|
Dear Matplotlib folks, is it possible in Matplotlib to add eye candy or gimmicks to the plots like fading? For example if I want to just show a subpart(?) of a plot this would like “cool”. (I am pretty sure that opinions differ if such things are useful or not, but please leave this out of the discussion.) It looks like PGF/TikZ supports such things (manual [1], page 206) and therefore I am wondering if Matplotlib can do this too? Thanks, Paul [1] http://www.ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf |
From: <jos...@gm...> - 2011-06-21 23:17:42
|
On Tue, Jun 21, 2011 at 5:25 PM, Paul Menzel <pau...@us...> wrote: > Am Dienstag, den 21.06.2011, 09:43 -0400 schrieb jos...@gm...: >> On Tue, Jun 21, 2011 at 8:47 AM, Paul Menzel wrote: > >> > I want to plot all paths of a simple random walk and wrote the following >> > recursive program based on the Path tutorial [1]. >> > >> > import matplotlib.pyplot as plt >> > from matplotlib.path import Path >> > import matplotlib.patches as patches >> > >> > def draw(a, b, c, d): >> > verts = [ >> > (a, b), >> > (c, d), >> > (0, 0), >> > ] >> > >> > codes = [ >> > Path.MOVETO, >> > Path.LINETO, >> > Path.CLOSEPOLY >> > ] >> > >> > path = Path(verts, codes) >> > patch = patches.PathPatch(path) >> > ax.add_patch(patch) >> > >> > def irrpfad(a, b): >> > if a < length: >> > draw(a, b, a + 1., b + 1.) >> > draw(a, b, a + 1., b - 1.) >> > irrpfad(a + 1, b + 1) >> > irrpfad(a + 1, b - 1) >> > >> > >> > length = 5 # 20 not possible to run >> > >> > fig = plt.figure() >> > ax = fig.add_subplot(111) >> > irrpfad(0, 0) >> > ax.set_xlim(0,length) >> > ax.set_ylim(-length,length) >> > plt.show() >> > >> > Using 20 for `length` stalls my system and the memory used seems to be >> > over 1 GB. I guess this is what you guess using something recursive. >> > What optimizations are there. I am drawing each line after another so >> > probably too many separate paths instead of one. Being a Python noob I >> > do not know if I can append something to a path. Looking at the API >> > documentation [2] I did not see such a method. >> > >> > Being also new to Matplotlib I may have also overlooked more appropriate >> > methods/classes. >> > >> > So to summarize my message, >> > >> > 1. How can I add lines to a path? >> > 2. Are recursive functions bad in Python/Matplotlib? >> > 3. Are there better approaches? >> >> I'm not sure what you are trying to show, but my impression is that you are >> just producing the grid between integers (move up,down), > > Yeah, that is about right [1]. > >> and paths will not show up because the lines are all on top of each other. > > That is not true. My program displays everything correctly when using > for example `length = 5`. > >> The number of all paths looks very large to me and even without matplotlib >> overhead, this might soon run into problems. > > That is what thought too. > >> for example; >> for length= 15; I get 65534 moves in the random walks, but only 240 unique moves >> for length= 20; I get 2097150 moves in the random walks, but only 420 unique moves >> plotting only unique moves is fast (count of moves might work to color the >> amount of traffic on each move) > > I am sorry, I think that in my program no section is drawn more than > once. each append below corresponds to one call to your draw function Do you want to draw all possible routes, or the road network? I only see the road network in the plot (and partially the traffic density with alpha<1). Josef > >> rw_moves = [] >> def irrpfad2(a, b): >> if a < length: >> rw_moves.append((a, b, a + 1, b + 1)) >> rw_moves.append((a, b, a + 1, b - 1)) >> irrpfad2(a + 1, b + 1) >> irrpfad2(a + 1, b - 1) >> >> length = 20 # 20 not possible to run >> irrpfad2(0, 0) > > Thank you for the example, but now I need to somehow also add the codes > to be able to pass this to Path. > >> I don't know any answer to the matplotlib specific part > > Thank you for your other answers. > >> > Please find the source also attached. I am using python-matplotlib >> > 1.0.1-2 from Debian Sid/unstable. > > > Thanks, > > Paul > > >> > [1] http://matplotlib.sourceforge.net/users/path_tutorial.html >> > [2] http://matplotlib.sourceforge.net/api/path_api.html#matplotlib.path.Path > [3] https://secure.wikimedia.org/wikipedia/en/wiki/Random_walk > > ------------------------------------------------------------------------------ > EditLive Enterprise is the world's most technically advanced content > authoring tool. Experience the power of Track Changes, Inline Image > Editing and ensure content is compliant with Accessibility Checking. > http://p.sf.net/sfu/ephox-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
From: Paul M. <pau...@us...> - 2011-06-21 21:26:01
|
Am Dienstag, den 21.06.2011, 09:43 -0400 schrieb jos...@gm...: > On Tue, Jun 21, 2011 at 8:47 AM, Paul Menzel wrote: > > I want to plot all paths of a simple random walk and wrote the following > > recursive program based on the Path tutorial [1]. > > > > import matplotlib.pyplot as plt > > from matplotlib.path import Path > > import matplotlib.patches as patches > > > > def draw(a, b, c, d): > > verts = [ > > (a, b), > > (c, d), > > (0, 0), > > ] > > > > codes = [ > > Path.MOVETO, > > Path.LINETO, > > Path.CLOSEPOLY > > ] > > > > path = Path(verts, codes) > > patch = patches.PathPatch(path) > > ax.add_patch(patch) > > > > def irrpfad(a, b): > > if a < length: > > draw(a, b, a + 1., b + 1.) > > draw(a, b, a + 1., b - 1.) > > irrpfad(a + 1, b + 1) > > irrpfad(a + 1, b - 1) > > > > > > length = 5 # 20 not possible to run > > > > fig = plt.figure() > > ax = fig.add_subplot(111) > > irrpfad(0, 0) > > ax.set_xlim(0,length) > > ax.set_ylim(-length,length) > > plt.show() > > > > Using 20 for `length` stalls my system and the memory used seems to be > > over 1 GB. I guess this is what you guess using something recursive. > > What optimizations are there. I am drawing each line after another so > > probably too many separate paths instead of one. Being a Python noob I > > do not know if I can append something to a path. Looking at the API > > documentation [2] I did not see such a method. > > > > Being also new to Matplotlib I may have also overlooked more appropriate > > methods/classes. > > > > So to summarize my message, > > > > 1. How can I add lines to a path? > > 2. Are recursive functions bad in Python/Matplotlib? > > 3. Are there better approaches? > > I'm not sure what you are trying to show, but my impression is that you are > just producing the grid between integers (move up,down), Yeah, that is about right [1]. > and paths will not show up because the lines are all on top of each other. That is not true. My program displays everything correctly when using for example `length = 5`. > The number of all paths looks very large to me and even without matplotlib > overhead, this might soon run into problems. That is what thought too. > for example; > for length= 15; I get 65534 moves in the random walks, but only 240 unique moves > for length= 20; I get 2097150 moves in the random walks, but only 420 unique moves > plotting only unique moves is fast (count of moves might work to color the > amount of traffic on each move) I am sorry, I think that in my program no section is drawn more than once. > rw_moves = [] > def irrpfad2(a, b): > if a < length: > rw_moves.append((a, b, a + 1, b + 1)) > rw_moves.append((a, b, a + 1, b - 1)) > irrpfad2(a + 1, b + 1) > irrpfad2(a + 1, b - 1) > > length = 20 # 20 not possible to run > irrpfad2(0, 0) Thank you for the example, but now I need to somehow also add the codes to be able to pass this to Path. > I don't know any answer to the matplotlib specific part Thank you for your other answers. > > Please find the source also attached. I am using python-matplotlib > > 1.0.1-2 from Debian Sid/unstable. Thanks, Paul > > [1] http://matplotlib.sourceforge.net/users/path_tutorial.html > > [2] http://matplotlib.sourceforge.net/api/path_api.html#matplotlib.path.Path [3] https://secure.wikimedia.org/wikipedia/en/wiki/Random_walk |
From: Justin M. <jn...@gm...> - 2011-06-21 18:48:22
|
On Tue, Jun 21, 2011 at 1:50 PM, Frank <fra...@go...> wrote: > matplotlib python: How do you change the background color of a line plot > according to a given column? Say I have the following data file >... > 2. 1 > 3. 1 > 3. 2 > > The first column represents the y-values, and the 2nd column should control > the background color. Say, it plots the (black) line on a white-gray > alternating background (zebra-like) as proceeding further in x-direction, > where the transition in color occurs anytime the integer in the 2nd column > increments. Or other possible solution: Use 2nd column as function argument > to determine background color. > > How would one do this with matlibplot? You can use axvspan (see below). You'll need to track where the 2nd column changes, and then use axvspan to make a colored fill between (x-1, x). Make sure you pass in a low (< 0) zorder number to the axvspan function so it stays in the background. pyplot function: http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.axvspan Axes method: http://matplotlib.sourceforge.net/api/axes_api.html#matplotlib.axes.Axes.axvspan Hope that helps, Justin |
From: Frank <fra...@go...> - 2011-06-21 17:50:50
|
matplotlib python: How do you change the background color of a line plot according to a given column? Say I have the following data file 1. 0 4. 0 2. 0 1. 1 2. 1 3. 1 3. 2 1. 2 2. 2 The first column represents the y-values, and the 2nd column should control the background color. Say, it plots the (black) line on a white-gray alternating background (zebra-like) as proceeding further in x-direction, where the transition in color occurs anytime the integer in the 2nd column increments. Or other possible solution: Use 2nd column as function argument to determine background color. How would one do this with matlibplot? Frank |
From: <jos...@gm...> - 2011-06-21 13:43:11
|
On Tue, Jun 21, 2011 at 8:47 AM, Paul Menzel < pau...@us...> wrote: > Dear Matplotlib folks, > > > I want to plot all paths of a simple random walk and wrote the following > recursive program based on the Path tutorial [1]. > > import matplotlib.pyplot as plt > from matplotlib.path import Path > import matplotlib.patches as patches > > def draw(a, b, c, d): > verts = [ > (a, b), > (c, d), > (0, 0), > ] > > codes = [ > Path.MOVETO, > Path.LINETO, > Path.CLOSEPOLY > ] > > path = Path(verts, codes) > patch = patches.PathPatch(path) > ax.add_patch(patch) > > def irrpfad(a, b): > if a < length: > draw(a, b, a + 1., b + 1.) > draw(a, b, a + 1., b - 1.) > irrpfad(a + 1, b + 1) > irrpfad(a + 1, b - 1) > > > length = 5 # 20 not possible to run > > fig = plt.figure() > ax = fig.add_subplot(111) > irrpfad(0, 0) > ax.set_xlim(0,length) > ax.set_ylim(-length,length) > plt.show() > > Using 20 for `length` stalls my system and the memory used seems to be > over 1 GB. I guess this is what you guess using something recursive. > What optimizations are there. I am drawing each line after another so > probably too many separate paths instead of one. Being a Python noob I > do not know if I can append something to a path. Looking at the API > documentation [2] I did not see such a method. > > Being also new to Matplotlib I may have also overlooked more appropriate > methods/classes. > > So to summarize my message, > > 1. How can I add lines to a path? > 2. Are recursive functions bad in Python/Matplotlib? > 3. Are there better approaches? > I'm not sure what you are trying to show, but my impression is that you are just producing the grid between integers (move up,down), and paths will not show up because the lines are all on top of each other. The number of all paths looks very large to me and even without matplotlib overhead, this might soon run into problems. for example; for length= 15; I get 65534 moves in the random walks, but only 240 unique moves for length= 20; I get 2097150 moves in the random walks, but only 420 unique moves plotting only unique moves is fast (count of moves might work to color the amount of traffic on each move) rw_moves = [] def irrpfad2(a, b): if a < length: rw_moves.append((a, b, a + 1, b + 1)) rw_moves.append((a, b, a + 1, b - 1)) irrpfad2(a + 1, b + 1) irrpfad2(a + 1, b - 1) length = 20 # 20 not possible to run irrpfad2(0, 0) I don't know any answer to the matplotlib specific part Josef > > Please find the source also attached. I am using python-matplotlib > 1.0.1-2 from Debian Sid/unstable. > > > Thanks, > > Paul > > > [1] http://matplotlib.sourceforge.net/users/path_tutorial.html > [2] > http://matplotlib.sourceforge.net/api/path_api.html#matplotlib.path.Path > > > ------------------------------------------------------------------------------ > EditLive Enterprise is the world's most technically advanced content > authoring tool. Experience the power of Track Changes, Inline Image > Editing and ensure content is compliant with Accessibility Checking. > http://p.sf.net/sfu/ephox-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
From: Paul M. <pau...@us...> - 2011-06-21 12:48:08
|
Dear Matplotlib folks, I want to plot all paths of a simple random walk and wrote the following recursive program based on the Path tutorial [1]. import matplotlib.pyplot as plt from matplotlib.path import Path import matplotlib.patches as patches def draw(a, b, c, d): verts = [ (a, b), (c, d), (0, 0), ] codes = [ Path.MOVETO, Path.LINETO, Path.CLOSEPOLY ] path = Path(verts, codes) patch = patches.PathPatch(path) ax.add_patch(patch) def irrpfad(a, b): if a < length: draw(a, b, a + 1., b + 1.) draw(a, b, a + 1., b - 1.) irrpfad(a + 1, b + 1) irrpfad(a + 1, b - 1) length = 5 # 20 not possible to run fig = plt.figure() ax = fig.add_subplot(111) irrpfad(0, 0) ax.set_xlim(0,length) ax.set_ylim(-length,length) plt.show() Using 20 for `length` stalls my system and the memory used seems to be over 1 GB. I guess this is what you guess using something recursive. What optimizations are there. I am drawing each line after another so probably too many separate paths instead of one. Being a Python noob I do not know if I can append something to a path. Looking at the API documentation [2] I did not see such a method. Being also new to Matplotlib I may have also overlooked more appropriate methods/classes. So to summarize my message, 1. How can I add lines to a path? 2. Are recursive functions bad in Python/Matplotlib? 3. Are there better approaches? Please find the source also attached. I am using python-matplotlib 1.0.1-2 from Debian Sid/unstable. Thanks, Paul [1] http://matplotlib.sourceforge.net/users/path_tutorial.html [2] http://matplotlib.sourceforge.net/api/path_api.html#matplotlib.path.Path |
From: Mike K. <mc...@gm...> - 2011-06-21 12:20:24
|
I'm not sure exactly how you want your minor ticks, but you can try this LinearMinorLocator (which is not in the distribution yet). If you're conversant with git you can find the branch here: https://github.com/matplotlib/matplotlib/pull/122 M On 6/19/11 3:20 PM, mat...@xo... wrote: > I am having trouble adding minor tick marks to an auto-scaled axis on > a linear plot. I hope someone can help. > > I am drawing a plot where the X axis values are predictable, so I > have the ability to define the desired major/minor intervals for > tickmarks and gridlines. The scale of the X axis is automatically > defined by matplotlib. I have manually specified the major and minor > X axis tick/grid intervals using: > > plt.grid(True, which='both') XmajorLocator XmajorFormatter > XminorLocator > > My Y axis values are not predictable, so I rely on matplotlib to > autoscale the Y axis, automatically defining the total range of > values plotted and the major tickmark& gridline intervals. I need > more gridline resolution, so I would like to be able to add minor > gridlines to the automatically scaled Y axis, but I'm having trouble > doing it. > > At present the autoscaled Y axis is only producing major ticks and > major gridlines. I'd like to add minor ticks and gridlines, but I > have not been successful so far. I'm hoping that someone can point > out an obvious solution that I've just overlooked. TIA. > > > ------------------------------------------------------------------------------ > > EditLive Enterprise is the world's most technically advanced content > authoring tool. Experience the power of Track Changes, Inline Image > Editing and ensure content is compliant with Accessibility Checking. > http://p.sf.net/sfu/ephox-dev2dev > _______________________________________________ Matplotlib-users > mailing list Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: kafooster <dmo...@gm...> - 2011-06-21 01:13:43
|
Hello, I am trying to display an array with imshow(), however I want to 'turn off' display of axes, numbers, and all that extra stuff which comes with it. I want only my array(grayscale image) to be shown ########################### import wx import matplotlib matplotlib.use( 'WXAgg' ) from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg from matplotlib.figure import Figure class Frame1(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self,None) self.panel1 = wx.Panel(self) self.Add_MPL_Plot() def Add_MPL_Plot(self): figure = Figure(None, 80) canvas = FigureCanvasWxAgg(self.panel1, -1, figure) canvas.SetSize(wx.Size(300,300)) subplot = figure.add_subplot(111) subplot.imshow(here comes my array) # i did not included it to code for simplicity if __name__ == '__main__': app = wx.PySimpleApp() frame = Frame1(None) frame.Show() app.MainLoop() ######################### is there a way to do it? another thing, is it possible to open .png images this way? (since it is possible to save stuff plotted with imshow to .png) -- View this message in context: http://old.nabble.com/displaying-plain-data-without-fancy-features-%28wx%29-tp31890673p31890673.html Sent from the matplotlib - users mailing list archive at Nabble.com. |