You can subscribe to this list here.
2003 
_{Jan}
(1) 
_{Feb}
(2) 
_{Mar}
(6) 
_{Apr}
(11) 
_{May}

_{Jun}
(2) 
_{Jul}

_{Aug}
(1) 
_{Sep}
(15) 
_{Oct}
(12) 
_{Nov}
(11) 
_{Dec}
(18) 

2004 
_{Jan}
(57) 
_{Feb}
(16) 
_{Mar}
(3) 
_{Apr}
(14) 
_{May}
(35) 
_{Jun}
(41) 
_{Jul}
(19) 
_{Aug}
(25) 
_{Sep}
(14) 
_{Oct}
(36) 
_{Nov}
(41) 
_{Dec}
(29) 
2005 
_{Jan}
(44) 
_{Feb}
(21) 
_{Mar}
(17) 
_{Apr}
(45) 
_{May}
(23) 
_{Jun}
(26) 
_{Jul}
(30) 
_{Aug}
(9) 
_{Sep}
(120) 
_{Oct}
(34) 
_{Nov}
(17) 
_{Dec}
(6) 
2006 
_{Jan}
(23) 
_{Feb}
(56) 
_{Mar}
(78) 
_{Apr}
(14) 
_{May}
(87) 
_{Jun}
(52) 
_{Jul}
(69) 
_{Aug}
(41) 
_{Sep}
(53) 
_{Oct}
(37) 
_{Nov}
(8) 
_{Dec}
(17) 
2007 
_{Jan}
(32) 
_{Feb}
(3) 
_{Mar}
(21) 
_{Apr}
(29) 
_{May}
(14) 
_{Jun}
(9) 
_{Jul}
(30) 
_{Aug}
(26) 
_{Sep}
(6) 
_{Oct}
(9) 
_{Nov}
(7) 
_{Dec}
(6) 
2008 
_{Jan}
(9) 
_{Feb}
(19) 
_{Mar}
(46) 
_{Apr}
(44) 
_{May}
(28) 
_{Jun}
(32) 
_{Jul}
(37) 
_{Aug}
(14) 
_{Sep}
(7) 
_{Oct}
(3) 
_{Nov}
(15) 
_{Dec}
(3) 
2009 
_{Jan}

_{Feb}
(6) 
_{Mar}
(7) 
_{Apr}

_{May}
(20) 
_{Jun}
(8) 
_{Jul}
(5) 
_{Aug}
(6) 
_{Sep}

_{Oct}
(45) 
_{Nov}
(8) 
_{Dec}
(20) 
2010 
_{Jan}
(3) 
_{Feb}
(1) 
_{Mar}
(12) 
_{Apr}

_{May}
(3) 
_{Jun}
(12) 
_{Jul}
(1) 
_{Aug}
(2) 
_{Sep}
(3) 
_{Oct}
(11) 
_{Nov}
(5) 
_{Dec}
(6) 
2011 
_{Jan}
(4) 
_{Feb}

_{Mar}

_{Apr}
(13) 
_{May}
(9) 
_{Jun}
(12) 
_{Jul}
(12) 
_{Aug}
(2) 
_{Sep}
(11) 
_{Oct}
(8) 
_{Nov}
(2) 
_{Dec}
(16) 
2012 
_{Jan}
(23) 
_{Feb}

_{Mar}

_{Apr}
(2) 
_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}
(6) 
_{Oct}
(7) 
_{Nov}

_{Dec}
(3) 
2013 
_{Jan}
(1) 
_{Feb}

_{Mar}

_{Apr}
(2) 
_{May}
(7) 
_{Jun}
(6) 
_{Jul}
(2) 
_{Aug}
(12) 
_{Sep}

_{Oct}
(3) 
_{Nov}

_{Dec}
(3) 
2014 
_{Jan}

_{Feb}

_{Mar}

_{Apr}
(2) 
_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}
(3) 
_{Dec}

2015 
_{Jan}

_{Feb}
(5) 
_{Mar}
(5) 
_{Apr}
(1) 
_{May}
(7) 
_{Jun}
(28) 
_{Jul}
(9) 
_{Aug}

_{Sep}

_{Oct}
(2) 
_{Nov}
(3) 
_{Dec}
(10) 
2016 
_{Jan}
(16) 
_{Feb}
(6) 
_{Mar}

_{Apr}

_{May}
(9) 
_{Jun}
(5) 
_{Jul}
(6) 
_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 




1
(1) 
2

3
(1) 
4

5

6
(4) 
7
(1) 
8
(1) 
9
(5) 
10
(1) 
11
(4) 
12

13

14

15
(3) 
16
(3) 
17
(8) 
18

19
(1) 
20
(4) 
21
(2) 
22
(1) 
23
(7) 
24
(1) 
25

26
(5) 
27
(3) 
28





From: Andre Wobst <wobsta@us...>  20060217 16:10:04

Hi, On 17.02.06, Arnd Baecker wrote: > I think you will have to split the plotting into parts, e.g., > if you have Numeric or numpy or numarray installed, you could do > > ################################################# > from pyx import * > from math import pi > from Numeric import arange, cos > > npts = 100 > x = pi/2.0*arange(npts)/(npts1) > y = cos(x) > > g = graph.graphxy(width=8, height=3.25, xpos=0, ypos=8, x2=None, y2=None, > x=graph.axis.lin(min=0, max=5, title="$t [s]$"), > y=graph.axis.lin(min=0.3, max=1.3, title="$U(t) [V]$")) > for i in xrange(4): > g.plot(graph.data.list(zip(x+i*pi/2.0, y), x=1, y=2), > [graph.style.line()]) > > g.writePDFfile("discont") > ################################################## > > Of course you can construct x and y as lists, but then > adding i*pi/2.0 won't work. Hey, that's pretty cool! I have a variant of that in case you don't want the vertial lines (as it would be mathematically correct). You can always insert "invalid" datapoints (everything that'll raise an error in an axis convert method). Those invalid points will lead to noncontiuous curves. In this case the y axis would be best to use, since you don't need the math on it anymore and thus can make a list from it (to enable different data types). Just do the following x = pi/2.0*arange(npts)/(npts2) y = list(cos(x)) y[1] = None instead of the "x = ..." and "y = ..." lines above. André  by _ _ _ Dr. André Wobst / \ \ / ) wobsta@..., http://www.wobsta.de/ / _ \ \/\/ / PyX  High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ 
From: Arnd Baecker <arnd.baecker@we...>  20060217 15:35:22

Hi, On Fri, 17 Feb 2006, Markus Meyer wrote: > Hi everyone, > > I'm trying to draw graphs with discontinuities in it, like this: > > from pyx import * > from math import cos, pi > > def f(x): > return cos(x % (pi/2)) > > g = graph.graphxy(width=8, height=3.25, xpos=0, ypos=8, x2=None, y2=None, > x=graph.axis.lin(min=0, max=5, title="$t [s]$"), > y=graph.axis.lin(min=0.3, max=1.3, title="$U(t) [V]$")) > g.plot(graph.data.function("y(x)=f(x)", context=locals()), > [graph.style.line()]) > g.writePDFfile("discont") > > However, there are two problems with this: > > 1. The vertical slopes between the single instances of the sawtooths are > not perfectly vertical. In cases, where I want to explicitely visualize > that a function has discontinuities, this is something that will > probably make the reader stumble. > > 2. In most books, the vertical slopes are not displayed at all. I cannot > currently do this with graph.data.function. > > When using a graph.data.paramfunction, it looks a bit better, but when > zooming in, one can still see, that the slopes are not perfectly > vertical. I know that I can use graph.data.list to exactly control the > points that are output, but I guess there should be a better way? I think you will have to split the plotting into parts, e.g., if you have Numeric or numpy or numarray installed, you could do ################################################# from pyx import * from math import pi from Numeric import arange, cos npts = 100 x = pi/2.0*arange(npts)/(npts1) y = cos(x) g = graph.graphxy(width=8, height=3.25, xpos=0, ypos=8, x2=None, y2=None, x=graph.axis.lin(min=0, max=5, title="$t [s]$"), y=graph.axis.lin(min=0.3, max=1.3, title="$U(t) [V]$")) for i in xrange(4): g.plot(graph.data.list(zip(x+i*pi/2.0, y), x=1, y=2), [graph.style.line()]) g.writePDFfile("discont") ################################################## Of course you can construct x and y as lists, but then adding i*pi/2.0 won't work. Best, Arnd 
From: Markus Meyer <meyer@me...>  20060217 14:37:32

Hi everyone, I'm trying to draw graphs with discontinuities in it, like this: from pyx import * from math import cos, pi def f(x): return cos(x % (pi/2)) g = graph.graphxy(width=8, height=3.25, xpos=0, ypos=8, x2=None, y2=None, x=graph.axis.lin(min=0, max=5, title="$t [s]$"), y=graph.axis.lin(min=0.3, max=1.3, title="$U(t) [V]$")) g.plot(graph.data.function("y(x)=f(x)", context=locals()), [graph.style.line()]) g.writePDFfile("discont") However, there are two problems with this: 1. The vertical slopes between the single instances of the sawtooths are not perfectly vertical. In cases, where I want to explicitely visualize that a function has discontinuities, this is something that will probably make the reader stumble. 2. In most books, the vertical slopes are not displayed at all. I cannot currently do this with graph.data.function. When using a graph.data.paramfunction, it looks a bit better, but when zooming in, one can still see, that the slopes are not perfectly vertical. I know that I can use graph.data.list to exactly control the points that are output, but I guess there should be a better way? Markus 
From: Andre Wobst <wobsta@us...>  20060217 13:39:44

On 17.02.06, Patrick Pletscher wrote: > > You have to add fromvalue=1 (or whatever fits) to arguments of the > > histogram style: > > > > graph.style.histogram(autohistogramaxisindex=0, steps=0, fromvalue=1) > > > > Wow, cool! That works nicely. Sorry for asking something documented, but > I wasn't aware that this is what I was looking for. However by rereading > the relevant section in the manual I found as well the option > fillable=1, which did solve the second question (prevent merging of > bins). Cool... Hey, I wasn't aware of this "fillable=1 feature" as a workaround. (The fillable feature is originally designed for something else, namely to properly handle the case, when a histogram is cut by the graph boundaries. While you don't want to stroke along the graph boundaries, you need those path parts for filling. See the functional test http://cvs.sourceforge.net/viewcvs.py/pyx/pyx/test/functional/test_histogram.py?view=markup for some examples.) Beside that I think the merging of the bins clearly is a bug. I've found it myself recently when I played around with the histogramdata data provider. It's already on my todo list: http://cvs.sourceforge.net/viewcvs.py/pyx/pyx/CHANGES?r1=1.424&r2=1.425 André  by _ _ _ Dr. André Wobst / \ \ / ) wobsta@..., http://www.wobsta.de/ / _ \ \/\/ / PyX  High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ 
From: Patrick Pletscher <lists@pl...>  20060217 10:48:07

Hi Jörg, > > You have to add fromvalue=1 (or whatever fits) to arguments of the > histogram style: > > graph.style.histogram(autohistogramaxisindex=0, steps=0, fromvalue=1) > Wow, cool! That works nicely. Sorry for asking something documented, but I wasn't aware that this is what I was looking for. However by rereading the relevant section in the manual I found as well the option fillable=1, which did solve the second question (prevent merging of bins). Cool... Thanks again and best regards, Patrick 
From: Joerg Lehmann <joergl@us...>  20060217 10:28:46

Hi Patrick, On 17.02.06, Patrick Pletscher wrote: [ snip ] > Here a small test program: > > > from pyx import * > histo = [[1, 2353], [2, 80], [3, 18], [4, 14], [5, 12], [6, 12]] > > g = graph.graphxy(width=8, > x=graph.axis.linear(min=0, max=12, title="rank")) > g.plot(graph.data.list(histo, x=1, y=2), > [graph.style.histogram(autohistogramaxisindex=0, steps=0)]) > g.writePDFfile("minimal") > > This works, however if I add a > y=graph.axis.log(min=1, max=8000, title="number") You have to add fromvalue=1 (or whatever fits) to arguments of the histogram style: graph.style.histogram(autohistogramaxisindex=0, steps=0, fromvalue=1) Best, Jörg 
From: Patrick Pletscher <lists@pl...>  20060217 09:41:21

Hi all, I want to illustrate some results by a histogram. However my data is very asymmetric, in the sense that some histogram"peaks" are very big, while others are rather small. The usual way I illustrate such data is with a logarithmic yaxis, however with a histogram (instead of a normal plot), I'm not getting any further... Here a small test program: from pyx import * histo = [[1, 2353], [2, 80], [3, 18], [4, 14], [5, 12], [6, 12]] g = graph.graphxy(width=8, x=graph.axis.linear(min=0, max=12, title="rank")) g.plot(graph.data.list(histo, x=1, y=2), [graph.style.histogram(autohistogramaxisindex=0, steps=0)]) g.writePDFfile("minimal") This works, however if I add a y=graph.axis.log(min=1, max=8000, title="number") to the initialization of the g, I'm getting a math range error (pyx somehow wants to compute a log of 0). By inspecting the code of pyx/graph/axis/axis.py on line 81 and changing the code to something like: if float(value) < 0.01: return 0 else: return (math.log(float(value))  math.log(data.min)) / (math.log(data.max)  math.log(data.min)) I at least get no error, and the plot looks as well not too bad. I however can not see, why we are computing a log of 0 here. Can somebody give my some hints how to solve this problem elegantly? One thing about the resulting histogram I find not too beautiful: neighbouring bins with same height get merged (no separating line between the two bins), can we prevent this? I would as well welcome suggestions about other approaches how to illustrate such data, e.g. splitgraphs (which suffered as well from log of 0). Thanks in advance for your help, I would really appreciate this. Could you please CC me, as I'm not subscribed to the list. Best regards, Patrick 
From: Andre Wobst <wobsta@us...>  20060217 07:45:32

Hey, On 17.02.06, Simon Burton wrote: > > Basically, I think that a cookbook, i.e. a sort of merger of the present > > FAQ and the examples, would probably be most helpful for many users. The > > problem is that to do a good job, one needs a fairly good understanding of > > the examples and on the other hand some time to work on explanations. But > > this is certainly something which needs to be pursued and as far as I > > understand, some preliminary work has been done already (Andre knows more > > about this). > > > > Would a wiki approach work for this ? In some sense I like the wiki approch very much in that it would allow our users to improve the situation in a way it helps *the* *users*. However, I think in the end we do not want some arbitrary list of comments. An editorial board which steamlines the descriptions would be best. For that I've started (well, several months ago) a system to provide descriptions to the examples. I would like to make the examples more cookbooklike. This doesn't really mean, that we need to change much in what the examples show, but we need to explain, what is going on. Most of the examples really have some deeper meaning, and my discussions (for example with Gert) have shown me several times, that it's very difficult for our users to look thru an example and really understand, what we want to show there. A cookbook doesn't necessarily show you everything. And it's also only a partial source for copy'n'paste code. But you can learn so much when some code really is explained. You may have a look at http://www.wobsta.de/pyxtest/examples/graphs/lissajous.html to see what I mean. And the idea is to make it easy (for us) to manage the descriptions in order we really can do some editing. (Maybe somebody even want's to join us here ... this would be great!) The descriptions are very easy to write down (in a wikilike style). Have a look at http://cvs.sourceforge.net/viewcvs.py/pyx/pyx/examples/graphs/lissajous.txt?rev=1.1&view=markup for the source of the description of the webpage cited above. That's the direction I do have in mind. Comments are welcome. André  by _ _ _ Dr. André Wobst / \ \ / ) wobsta@..., http://www.wobsta.de/ / _ \ \/\/ / PyX  High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ 