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}
(1) 
_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 







1

2

3

4
(1) 
5
(3) 
6
(1) 
7

8

9

10

11

12
(1) 
13
(4) 
14
(1) 
15
(1) 
16

17

18
(1) 
19

20

21

22

23

24
(6) 
25
(6) 
26
(9) 
27
(10) 
28

29

30

31






From: Joerg Lehmann <joergl@us...>  20050127 22:10:57

Hi Michael, On 27.01.05, Michael Hagemann wrote: > Ready made plot schemes would be a great help though. Everytime I go > back to producing a plot, I think about this. I think about adding two > (relatively thin) layers of abstraction: > > 1) A "library" with at most 2 or three plotting functions, which produce > plots with "sane defaults" (as default parameters and/or based on the > data) and handle the already supported data formats. Even not having to > write the contructor and the "writeEPSfile" would be a help. > > 2) A simple commandline tool, that supports very basic file "formats" > (think columns of numbers, like gnuplot) and maybe even a "guess" mode > based on the structure of the input. Yes, why not. Sounds like a good idea. > A "gallery" (everybody loves thumbnails ;) on the website could provide > the starting point to quickly get an impression of your data the way you > intend to (and maybe the way you know from other tools). > > This would also address several points that often pop up on this mailing > list, by providing: > >  A more comprehensive place to look for the "how do I..." things (think > of a generic set of examples) This is what the example page really is about. >  A more robust interface for the mundane everyday tasks. >  A set of "unit tests" which might help to pinpoint and document the > changes in the underlying pyx layer. There are in fact unit and functional tests, which certainly do not cover all of PyX but at least help us when releasing a new version. Note however that we still consider the interfaces of PyX to be in flux. This may sometimes be annoying, but on the other hand guaranteeing backward compatibility now would really harm the further development of PyX. Still, there is a clear trend towards interface stabilisation in many areas, so no need to panic :) > The backdraws, as I see them, are: > >  Takes time and effort ;) >  My own (unfrequent) plotting needs don't typically fall into standard > patterns. But even unwieldy (but easy made) plots would sometimes be > a big help. > > However, if there's interest and input on this, I'd be interested in > working on this. I think something like this would be very suited as an external contribution to PyX. Both because it doesn't require the full knowledge of the PyX internals and also because it's probably good if somebody who is not too biased by working years on PyX takes a look on this. Jörg 
From: Dawid Weiss <dawid.weiss@cs...>  20050127 21:51:30

+1 from me. Such a library of commonly used scripts could become a strong competition for gnuplot and the likes. I really love PyX, but I don't feel like I'm using 10% of its capabilities; advanced examples and readytouse scripts would provide a lot of interesting reading and a field for experimentation. D. Michael Hagemann wrote: > Hi everybody, > > > Andre Wobst wrote: > >> >> [...] In gnuplot so many thinks are hardwired. This is good for sure >> in the first taste and works well as long as you can fit you needs >> into what gnuplot can do (not the other way around!), but as soon as >> you want just a little more, gnuplot as a whole is no help anymore. > > > Ready made plot schemes would be a great help though. Everytime I go > back to producing a plot, I think about this. I think about adding two > (relatively thin) layers of abstraction: > > 1) A "library" with at most 2 or three plotting functions, which produce > plots with "sane defaults" (as default parameters and/or based on the > data) and handle the already supported data formats. Even not having to > write the contructor and the "writeEPSfile" would be a help. > > 2) A simple commandline tool, that supports very basic file "formats" > (think columns of numbers, like gnuplot) and maybe even a "guess" mode > based on the structure of the input. > > A "gallery" (everybody loves thumbnails ;) on the website could provide > the starting point to quickly get an impression of your data the way you > intend to (and maybe the way you know from other tools). > > This would also address several points that often pop up on this mailing > list, by providing: > >  A more comprehensive place to look for the "how do I..." things (think > of a generic set of examples) >  A more robust interface for the mundane everyday tasks. >  A set of "unit tests" which might help to pinpoint and document the > changes in the underlying pyx layer. > > The backdraws, as I see them, are: > >  Takes time and effort ;) >  My own (unfrequent) plotting needs don't typically fall into standard > patterns. But even unwieldy (but easy made) plots would sometimes be > a big help. > > However, if there's interest and input on this, I'd be interested in > working on this. > > > regards, > michael > > > >  > This SF.Net email is sponsored by: IntelliVIEW  Interactive Reporting > Tool for open source databases. Create drag&drop reports. Save time > by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. > Download a FREE copy at http://www.intelliview.com/go/osdn_nl > _______________________________________________ > PyXuser mailing list > PyXuser@... > https://lists.sourceforge.net/lists/listinfo/pyxuser 
From: Andrea Riciputi <ariciputi@pi...>  20050127 15:04:53

Thanks to both Andr=E9 and J=F6rg for their answers. > I do not fully understand, what (yAxis.min, yAxis.max) =3D=3D (None, = None) > is supposed to do. Sorry, it is a bad habit of mine. I meant to say that yAxis.min and=20 yAxis.max are both still equal to None after my h.plot call. But as you=20= and J=F6rg have pointed out this is can be easily fixed calling=20 h.dolayout() method. Nevertheless your suggestion to use h.vpos is clearly better in this=20 case and it works even without calling h.dolayout(). Thanks again, Andrea. 
From: Michael Hagemann <michael.hagemann@un...>  20050127 13:29:54

Hi everybody, Andre Wobst wrote: > > [...] In gnuplot so many thinks are hardwired. This is good for sure > in the first taste and works well as long as you can fit you needs > into what gnuplot can do (not the other way around!), but as soon as > you want just a little more, gnuplot as a whole is no help anymore. Ready made plot schemes would be a great help though. Everytime I go back to producing a plot, I think about this. I think about adding two (relatively thin) layers of abstraction: 1) A "library" with at most 2 or three plotting functions, which produce plots with "sane defaults" (as default parameters and/or based on the data) and handle the already supported data formats. Even not having to write the contructor and the "writeEPSfile" would be a help. 2) A simple commandline tool, that supports very basic file "formats" (think columns of numbers, like gnuplot) and maybe even a "guess" mode based on the structure of the input. A "gallery" (everybody loves thumbnails ;) on the website could provide the starting point to quickly get an impression of your data the way you intend to (and maybe the way you know from other tools). This would also address several points that often pop up on this mailing list, by providing:  A more comprehensive place to look for the "how do I..." things (think of a generic set of examples)  A more robust interface for the mundane everyday tasks.  A set of "unit tests" which might help to pinpoint and document the changes in the underlying pyx layer. The backdraws, as I see them, are:  Takes time and effort ;)  My own (unfrequent) plotting needs don't typically fall into standard patterns. But even unwieldy (but easy made) plots would sometimes be a big help. However, if there's interest and input on this, I'd be interested in working on this. regards, michael 
From: Dawid Weiss <dawid.weiss@cs...>  20050127 12:50:34

I would add my few cents: I really like the idea of users contributing interesting (and in general various) examples. It is examples that make a rapid use of PyX possible without spending hours of delving into the details (and I'm not trying to say the design is bad, Andre, the contrary: it's good, but it takes time to understand it). In other words: contributions are certainly very very welcome. D. Andre Wobst wrote: > Hi, > > On 26.01.05, Francisco Borges wrote: > >>I would like to suggest the addition of a graph example that explicitly >>uses more style resources than "the bare minimum". > > > I really like your example. At one point I want to add the possibility > to horizontally shift the y axis (and vise versa for the x axis) so > that it could start at x=0 (or somewhere else). This would perfectly > fit into that example as an simple, additional feature presentation. > For the moment I've just added some manual ticks to supress the ugly > looking ticks at the end. > > I've just published the example on the webpage. Thank you very much > for this nice contribution! > > > André > 
From: Andre Wobst <wobsta@us...>  20050127 08:59:31

Hi, On 27.01.05, Andrea Riciputi wrote: > I have a problem that I've not been able to address, hope you can help > me. Suppose I want to plot a data series and I don't know what the > yvalues will be, suppose also that I want to write any text on the > plot after the data, let's say on the rightupper corner. I'll try > something like this: > > xAxis = pyx.graph.axes.lin(min = x_min, max = x_max) > yAxis = pyx.graph.axes.lin() > > h = pyx.graph.graphxy(width = 10, height = 10, x = xAxis, y = yAxis) > > h.plot(pyx.graph.data.list(dataSet, x = 1, y = 2)) > > Now I try to write the label, but (yAxis.min, yAxis.max) == (None, > None), and I don't now how to find the coordinates of the upperright > (or whatever) corner. Obviously I'm missing something, could you give > me some hints? I do not fully understand, what (yAxis.min, yAxis.max) == (None, None) is supposed to do. But I think you just want an easy way to access positions in the graph. For that you can use the graphs pos() and vpos() methods. (Note, that the pos() method can be only be used after the dolayout() method was called when the axis ranges are adjusted automatically.) But to get the upper right corner, you can just use x, y = h.vpos(1, 1) ... I'm not quite sure whether I totally misunderstood your question, so please, ask again, when I was pointing towards something totally uninteresting to you ... André  by _ _ _ Dr. André Wobst / \ \ / ) wobsta@..., http://www.wobsta.de/ / _ \ \/\/ / PyX  High quality PostScript figures with Python & TeX (_/ \_)_/\_/ visit http://pyx.sourceforge.net/ 
From: Andre Wobst <wobsta@us...>  20050127 08:48:21

Hi, On 26.01.05, Francisco Borges wrote: > I would like to suggest the addition of a graph example that explicitly > uses more style resources than "the bare minimum". I really like your example. At one point I want to add the possibility to horizontally shift the y axis (and vise versa for the x axis) so that it could start at x=0 (or somewhere else). This would perfectly fit into that example as an simple, additional feature presentation. For the moment I've just added some manual ticks to supress the ugly looking ticks at the end. I've just published the example on the webpage. Thank you very much for this nice contribution! André  by _ _ _ Dr. André Wobst / \ \ / ) wobsta@..., http://www.wobsta.de/ / _ \ \/\/ / PyX  High quality PostScript figures with Python & TeX (_/ \_)_/\_/ visit http://pyx.sourceforge.net/ 
From: Joerg Lehmann <joergl@us...>  20050127 08:44:37

Hi Andrea, On 27.01.05, Andrea Riciputi wrote: > I have a problem that I've not been able to address, hope you can help > me. Suppose I want to plot a data series and I don't know what the > yvalues will be, suppose also that I want to write any text on the > plot after the data, let's say on the rightupper corner. I'll try > something like this: > > xAxis = pyx.graph.axes.lin(min = x_min, max = x_max) > yAxis = pyx.graph.axes.lin() > > h = pyx.graph.graphxy(width = 10, height = 10, x = xAxis, y = yAxis) > > h.plot(pyx.graph.data.list(dataSet, x = 1, y = 2)) > > Now I try to write the label, but (yAxis.min, yAxis.max) == (None, > None), and I don't now how to find the coordinates of the upperright > (or whatever) corner. Obviously I'm missing something, could you give > me some hints? Just call h.finish() at this point, which tells the graph that it should calculate its layout, draw the background, the axes, the data and the key. If you just want to have the axis layout but do not want to be drawn anything, use h.dolayout(). See http://pyx.sourceforge.net/manual/modulegraph.graph.html for more details. There you also find a description of the pos method which allows you to transform the min and max values into canvas coordinates. Jörg 
From: Andre Wobst <wobsta@us...>  20050127 08:29:25

Hi, I've just created a calendar in PyX (see the discussion on texdl: http://www.listserv.dfn.de/cgibin/wa?A2=ind0501&L=texdl&T=0&F=&S=&P=19426 and the calendar source+EPS on http://pyx.sourceforge.net/texcal). The calendar is kind of minimal, but it uses a graph for the layout. This is, of course, an advanced usage, but you guys might be interessed in such things ... André  by _ _ _ Dr. André Wobst / \ \ / ) wobsta@..., http://www.wobsta.de/ / _ \ \/\/ / PyX  High quality PostScript figures with Python & TeX (_/ \_)_/\_/ visit http://pyx.sourceforge.net/ 
From: Andrea Riciputi <ariciputi@pi...>  20050127 08:17:28

Hi, I have a problem that I've not been able to address, hope you can help me. Suppose I want to plot a data series and I don't know what the yvalues will be, suppose also that I want to write any text on the plot after the data, let's say on the rightupper corner. I'll try something like this: xAxis = pyx.graph.axes.lin(min = x_min, max = x_max) yAxis = pyx.graph.axes.lin() h = pyx.graph.graphxy(width = 10, height = 10, x = xAxis, y = yAxis) h.plot(pyx.graph.data.list(dataSet, x = 1, y = 2)) Now I try to write the label, but (yAxis.min, yAxis.max) == (None, None), and I don't now how to find the coordinates of the upperright (or whatever) corner. Obviously I'm missing something, could you give me some hints? Thanks, Andrea. 
From: Francisco Borges <borges@le...>  20050126 19:29:42

Hello all, I would like to suggest the addition of a graph example that explicitly uses more style resources than "the bare minimum". The only use of styles in the graph examples is selection between line and symbols. Other things are used in some examples but always when drawing not at ploting (yes, that makes difference). The impression I get is that most people go directly to the examples page and manual (and miss the fact it's not a users but a reference manual) and end up completely lost when trying to use graph styles. I'm sending as a suggestion a file with the stuff that I would have liked to have found myself in the examples page. As Wobsta likes to point out, most of it is obvious once you know it, yeah sure, "once you know it" ;) Peace,  Francisco Borges Alfa Informatica  RuG 
From: Andre Wobst <wobsta@us...>  20050126 13:22:26

Hi, On 26.01.05, Joerg Lehmann wrote: > On 26.01.05, Simson L. Garfinkel wrote: > > I think that you misunderstood my comment. I would much rather use PyX than > > Gnuplot. > > > > But how do I do labeled pen traces within the plot, the way Gnuplot does? I > > can't figure that out. First, I'm really sorry about my crude comment. Still, we're not developing gnuplot. Things are not always as easy as gnuplot tries to make them ... > I think it is not clear to us (at least to me) what you meant with > labeled pen traces. Are you talking about a graph key like the one > in the graphis/piaxis example (see > http://pyx.sourceforge.net/examples/graphs/index.html) I guess as well that your question is about graph keys. All you need to do is to add a key instance to the graph constructor. For example: import random from pyx import * g = graph.graphxy(width=10, key=graph.key.key()) g.plot([graph.data.list([(j, random.random()) for j in range(20)], x=1, y=2) for k in range(3)], [graph.style.line()]) g.writeEPSfile("minimal") André  by _ _ _ Dr. André Wobst / \ \ / ) wobsta@..., http://www.wobsta.de/ / _ \ \/\/ / PyX  High quality PostScript figures with Python & TeX (_/ \_)_/\_/ visit http://pyx.sourceforge.net/ 
From: Joerg Lehmann <joergl@us...>  20050126 13:11:52

Simson, On 26.01.05, Simson L. Garfinkel wrote: > I think that you misunderstood my comment. I would much rather use PyX than > Gnuplot. > > But how do I do labeled pen traces within the plot, the way Gnuplot does? I > can't figure that out. I think it is not clear to us (at least to me) what you meant with labeled pen traces. Are you talking about a graph key like the one in the graphis/piaxis example (see http://pyx.sourceforge.net/examples/graphs/index.html) If not, maybe you could post an example output (or a link to it) to the list. Jörg 
From: Simson L. Garfinkel <simsong@cs...>  20050126 12:48:38

Andre, I think that you misunderstood my comment. I would much rather use PyX than Gnuplot. But how do I do labeled pen traces within the plot, the way Gnuplot does? I can't figure that out. 
From: Andre Wobst <wobsta@us...>  20050126 10:17:47

Hi, On 26.01.05, Joerg Lehmann wrote: > For this case, I definitely prefer the variants y(x2) = sin(x2) and > y4(x1) = cos(x1), which my "clumsy" didn't refer to. I was just saying > that for the parametric functions this notation becomes a bit lengthy. > But note that my "but still..." was meant as a +0, maybe even more. I suggest to drop this parametric function business (which I raised myself, I know), since it's really not a crucial thing at all. And its a sufficiantly different thing compared to a "normal" function to have a different notation for the parameter here. I give it a 0 for the moment ... > > Unfortunately, we then will also be asked for something crude like > > > > y2(x1, x2) = x1 * sin(x2) > > > > Does this actually work at the moment? > > At the moment not, because there is no bracket notation on the left hand > side of the equal sign at all. At the moment we do not support a two parameter function, since we currently do not have an xyzgraph. Sure we'll add it in the future. And it's likely that the above code will become work, but it'll create something very strange (i.e. looping over x1 and x2 independly). And you'll have trouble getting a style consuming that data (you can write your own one or may be a errorbar or bar like thing would work). Overall I totally dislike this idea (the way you meant it, i.e. x1 and x2 refer to the *same* graph position), since the function will strangely depend on the graph (although it's natural, that the function data depend on the graph since, for example, the range of a function depends on the graph and it differs in several graphs for the very same function instance). What if somehow the axis ranges get changed? No way ... this is really uncontrolable. André  by _ _ _ Dr. André Wobst / \ \ / ) wobsta@..., http://www.wobsta.de/ / _ \ \/\/ / PyX  High quality PostScript figures with Python & TeX (_/ \_)_/\_/ visit http://pyx.sourceforge.net/ 
From: Andre Wobst <wobsta@us...>  20050126 09:59:23

Hi, On 25.01.05, Joerg Lehmann wrote: > > 3) Extend the function syntax to be "y(x)=sin(x)". > > pro: I kind of like that idea ... ;) > > con: It's a little unpythonic. At least we could easily make a > > smooth transition with a deprication warning on the old way of > > writing for several releases. > > Nice idea! Concerning the nonPythonic syntax: y = sin(x) is also not > the Python way of defining a function. And remember: Explicit is better > than implicit. You're right. "y = sin(x)" wasn't pythonic either. With "y(x) = sin(x)" we could think of removing the mathtree completely. We'll not need to find out anything about the variables on the right side. (To not yet question the existance of the mathtree, its definitely the way to go. I kind of like the idea of getting rid of the mathtree (at least in the function concept ... it still will be very usefull for fitting) since I want to get rid of the floatsonly concept in data/function/etc.handling. By that we could better support time axis (i.e. time data structures) and  even more important  it's also the crucial aspect to get rid of the splitaxis in favor of a slightly modified version of the baraxis (i.e. using tuples of an int and a float to access a specific part within a split axis ... and the modification should basically be limited to the painter) ... > > Probably, there are a lot of other solutions. Note also, that in the > > paramfunction you need to specify the variable parameter. But I think > > we sould leave that (and don't do anything like variant 3 for a > > parametric function) ... > > Maybe yes, x(t), y(t) = cos(t), sin(t) looks a bit clumsy. But > still... I would not bother too much. Currently the paramfunction needs three mandatory parameters to get enough information about the parameter of the parametric function (``t'' in the example above). We do have a minimum and maximum as well. Since the parametric function is a "nicetohave" feature, but its always easy to construct it from graph.data.list as well, I would not bother too much ... > > PS: You could stroke a horizontal line by > > g.stroke(g.xgridpath(<value>)) where g is a graph instance. But > > this doesn't help out of this design problem we have ... > > No, this is definitely not the solution. Sure it is a solution for something. But you're right: its not exactly a solution to the question raised. ;) André  by _ _ _ Dr. André Wobst / \ \ / ) wobsta@..., http://www.wobsta.de/ / _ \ \/\/ / PyX  High quality PostScript figures with Python & TeX (_/ \_)_/\_/ visit http://pyx.sourceforge.net/ 
From: Andre Wobst <wobsta@us...>  20050126 09:41:29

Hi, On 26.01.05, Joerg Lehmann wrote: > > On 18.01.05, dallman@... wrote: > > > After reading the documentaion/faq/usergroups I cant seem to find a solution to > > > this problem. I wan't to color the symbols of a graph based on a parameter read > > > in from a data file. It seems a possible way to do this is by writing a > > > subclass that can take an argument to set the color.palette.Rainbow parameter > > > but I can't seem to get this to work. > > > > > > Any advice would be most appreciated, > > André, the question was how to create a plot where the color of the > symbol is determined by a column of the data file.. Your example > only changes the color to red. The OP is asking for a combination > of graph.style.rect and graph.style.symbol, which AFAICT does not exist. (Please ignore my previous posting. I scrambled up my mind ...) Ok, so this is something which became much easier in 0.7 due to the reorganization of data and style handling. ;) The following will do the trick: from pyx import * import random class colorsymbol(graph.style.symbol): def __init__(self, palette=color.palette.Rainbow, colorname="color", **kwargs): self.palette = palette self.colorname = colorname graph.style.symbol.__init__(self, **kwargs) def columns(self, privatedata, sharedata, agraph, columns): if self.colorname not in columns: raise ValueError("column '%s' missing" % self.colorname) return [self.colorname] + graph.style.symbol.columns(self, privatedata, sharedata, agraph, columns) def drawpoint(self, privatedata, sharedata, agraph): if sharedata.vposvalid and privatedata.symbolattrs is not None: xpos, ypos = agraph.vpos_pt(*sharedata.vpos) privatedata.symbol(privatedata.symbolcanvas, xpos, ypos, privatedata.size_pt, privatedata.symbolattrs + [self.palette.getcolor(sharedata.point[self.colorname])]) g = graph.graphxy(width=10) g.plot(graph.data.list([[random.random() for i in range(3)] for i in range(1000)], x=1, y=2, color=3), [colorsymbol()]) g.writeEPSfile("color") We defined a style colorsymbol out of the existing symbol style with an additional column named "color" (by default). In the columns method this column name is added (to be recognised in the underlying structure). Beside that we just need to replace the drawpoint method. Alternatively you could also call the graph.style.symbol.drawpoint method with a modified version of privatedata (temorarily adding the color to privatedata.symbolattrs) ... André  by _ _ _ Dr. André Wobst / \ \ / ) wobsta@..., http://www.wobsta.de/ / _ \ \/\/ / PyX  High quality PostScript figures with Python & TeX (_/ \_)_/\_/ visit http://pyx.sourceforge.net/ 
From: Joerg Lehmann <joergl@us...>  20050126 08:19:28

Hi Michael, On 25.01.05, Michael Schindler wrote: > On 25.01.05, Joerg Lehmann wrote: > > On 25.01.05, Andre Wobst wrote: > > > Probably, there are a lot of other solutions. Note also, that in the > > > paramfunction you need to specify the variable parameter. But I think > > > we sould leave that (and don't do anything like variant 3 for a > > > parametric function) ... > > > > Maybe yes, x(t), y(t) = cos(t), sin(t) looks a bit clumsy. But > > still... > > clumsy? I think it is a very nice way to write the function  it is > rather the the standard way to write a parametric function (e.g. you > will find this in many mathematical textbooks). Remember > that it is also possible to use other than only x and y axes > > y = sin(x2) > y4 = cos(x1) For this case, I definitely prefer the variants y(x2) = sin(x2) and y4(x1) = cos(x1), which my "clumsy" didn't refer to. I was just saying that for the parametric functions this notation becomes a bit lengthy. But note that my "but still..." was meant as a +0, maybe even more. > Unfortunately, we then will also be asked for something crude like > > y2(x1, x2) = x1 * sin(x2) > > Does this actually work at the moment? At the moment not, because there is no bracket notation on the left hand side of the equal sign at all. Jörg 
From: Joerg Lehmann <joergl@us...>  20050126 08:11:16

Hi André, On 25.01.05, Andre Wobst wrote: > On 18.01.05, dallman@... wrote: > > After reading the documentaion/faq/usergroups I cant seem to find a solution to > > this problem. I wan't to color the symbols of a graph based on a parameter read > > in from a data file. It seems a possible way to do this is by writing a > > subclass that can take an argument to set the color.palette.Rainbow parameter > > but I can't seem to get this to work. > > > > Any advice would be most appreciated, > > FAQ 3.3.2 should help. Enclosed a modified version of the minimal > graph example ... André, the question was how to create a plot where the color of the symbol is determined by a column of the data file.. Your example only changes the color to red. The OP is asking for a combination of graph.style.rect and graph.style.symbol, which AFAICT does not exist. Jörg > g = graph.graphxy(width=8) > g.plot(graph.data.file("minimal.dat", x=1, y=2), > [graph.style.symbol(symbolattrs=[color.rgb.red])]) > g.writeEPSfile("minimal") 
From: Michael Schindler <mschindler@us...>  20050125 20:47:49

Hi André and Jörg, On 25.01.05, Joerg Lehmann wrote: > On 25.01.05, Andre Wobst wrote: > > Probably, there are a lot of other solutions. Note also, that in the > > paramfunction you need to specify the variable parameter. But I think > > we sould leave that (and don't do anything like variant 3 for a > > parametric function) ... > > Maybe yes, x(t), y(t) = cos(t), sin(t) looks a bit clumsy. But > still... clumsy? I think it is a very nice way to write the function  it is rather the the standard way to write a parametric function (e.g. you will find this in many mathematical textbooks). Remember that it is also possible to use other than only x and y axes y = sin(x2) y4 = cos(x1) Unfortunately, we then will also be asked for something crude like y2(x1, x2) = x1 * sin(x2) Does this actually work at the moment? Michael.  "A mathematician is a device for turning coffee into theorems" Paul Erdös. 
From: Joerg Lehmann <joergl@us...>  20050125 16:51:24

Hi André, On 25.01.05, Andre Wobst wrote: > This really is a design problem. I'm not sure on how we should solve > that. There are several solutions one could think of: [ snip ] > 3) Extend the function syntax to be "y(x)=sin(x)". > pro: I kind of like that idea ... ;) > con: It's a little unpythonic. At least we could easily make a > smooth transition with a deprication warning on the old way of > writing for several releases. Nice idea! Concerning the nonPythonic syntax: y = sin(x) is also not the Python way of defining a function. And remember: Explicit is better than implicit. > Probably, there are a lot of other solutions. Note also, that in the > paramfunction you need to specify the variable parameter. But I think > we sould leave that (and don't do anything like variant 3 for a > parametric function) ... Maybe yes, x(t), y(t) = cos(t), sin(t) looks a bit clumsy. But still... > PS: You could stroke a horizontal line by > g.stroke(g.xgridpath(<value>)) where g is a graph instance. But > this doesn't help out of this design problem we have ... No, this is definitely not the solution. Jörg 
From: Andre Wobst <wobsta@us...>  20050125 08:09:54

Hi, On 18.01.05, dallman@... wrote: > After reading the documentaion/faq/usergroups I cant seem to find a solution to > this problem. I wan't to color the symbols of a graph based on a parameter read > in from a data file. It seems a possible way to do this is by writing a > subclass that can take an argument to set the color.palette.Rainbow parameter > but I can't seem to get this to work. > > Any advice would be most appreciated, FAQ 3.3.2 should help. Enclosed a modified version of the minimal graph example ... André  by _ _ _ Dr. André Wobst / \ \ / ) wobsta@..., http://www.wobsta.de/ / _ \ \/\/ / PyX  High quality PostScript figures with Python & TeX (_/ \_)_/\_/ visit http://pyx.sourceforge.net/ 
From: Andre Wobst <wobsta@us...>  20050125 07:51:29

Hi, On 24.01.05, Joerg Lehmann wrote: > On 24.01.05, Andrea Riciputi wrote: > > Thanks Jörg. But I find it awkward... Perhaps it could be usefull to > > implement a default indipendent variable if none is present... > > Yes, i know it's not really pretty and we should really find a better > solution. I'll discuss this with André at the next developer meeting. This really is a design problem. I'm not sure on how we should solve that. There are several solutions one could think of: 1) Making "x" to be a default variable within the function. con: The function does not know anything about the axis names and the axis name "x" is not at all special. 2) Let the graph tell the function which axis should be the default variable. con: As above, "x" should not be special, although this solution is less special in that its not a feature of the function anymore. 3) Extend the function syntax to be "y(x)=sin(x)". pro: I kind of like that idea ... ;) con: It's a little unpythonic. At least we could easily make a smooth transition with a deprication warning on the old way of writing for several releases. Probably, there are a lot of other solutions. Note also, that in the paramfunction you need to specify the variable parameter. But I think we sould leave that (and don't do anything like variant 3 for a parametric function) ... André PS: You could stroke a horizontal line by g.stroke(g.xgridpath(<value>)) where g is a graph instance. But this doesn't help out of this design problem we have ...  by _ _ _ Dr. André Wobst / \ \ / ) wobsta@..., http://www.wobsta.de/ / _ \ \/\/ / PyX  High quality PostScript figures with Python & TeX (_/ \_)_/\_/ visit http://pyx.sourceforge.net/ 
From: Andre Wobst <wobsta@us...>  20050125 07:38:05

Hi Simson, On 25.01.05, Simson L. Garfinkel wrote: > I wanted to plot some graphs with PyX today but ended up giving up > and using GNUPLOT instead. Here's why: > > 1. I wanted a simple way to label multiple pens on a graph. PyX > seems to be willing to do it if I am plotting a variable, but not > if I am plotting data from a list. As stated in graph/minimal.py example as a comment, you just need to change the style used to plot the data. (Once you get an idea on how PyX is constructed and works, it really should be quite obvious.) There's also the FAQ question 3.3.3 about your specific problem. It really shouldn't be hard to find ... > 2. I wanted to specify: > * Line type > * symbol to use for the data ticks > * Color Once you understand, that there are graph styles, its just the next step to find out, that those can have paramters specifying the line type, symbol kind, colors, etc. > There is a real lack of examples that show how to do this sort > of thing easily. I think its important to keep the number of examples, faqquestions etc. as low as possible in order to allow for actually really looking at them! Sure we'll add stuff whatever it turns out, that something needs to be addressed. Recently we've splitted the example page into several parts. This allows us to add further examples whenever it turns out, that we are in need of adding something. But  to my mind  it doesn't make too much sense to provide a solution to everyone's problem within the examples. Its easy to proof (mathematically), that this doesn't work out. > GNUPLOT took work, but I sort of figured it out. I wish that there > weren't so many options and that it had better documentation. Listen: In the past, when I had to do a lot of plots myself, I used the gnuplot as well for fast, quick and dirty previews. But hey, you can't compare PyX and gnuplot at all. In gnuplot you can't even change the line color, line style and symbol kind at the same time indepenendly (not sure there's a way around this in 4.0, but I don't think so since gnuplot has a fundamental problem on how parameters are handled). In gnuplot so many thinks are hardwired. This is good for sure in the first taste and works well as long as you can fit you needs into what gnuplot can do (not the other way around!), but as soon as you want just a little more, gnuplot as a whole is no help anymore. To make my statement clear: I don't have any problems when you find out yourself, that gnuplot better fits your needs. That's absolutely fine! But that's not a PyX problem (at least not in the first place, since PyX does not want to be a direct replacement for gnuplot). André  by _ _ _ Dr. André Wobst / \ \ / ) wobsta@..., http://www.wobsta.de/ / _ \ \/\/ / PyX  High quality PostScript figures with Python & TeX (_/ \_)_/\_/ visit http://pyx.sourceforge.net/ 
From: Simson L. Garfinkel <simsong@cs...>  20050125 05:03:51
