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
|
2017 |
Jan
|
Feb
(5) |
Mar
(3) |
Apr
(4) |
May
(7) |
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
(5) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(6) |
Jul
(5) |
Aug
(8) |
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
(1) |
Feb
(5) |
Mar
(3) |
Apr
|
May
(9) |
Jun
(4) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
(1) |
Mar
(2) |
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2023 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: André W. <wo...@us...> - 2016-05-07 22:19:58
|
Hi Brendon, it's an interesting problem. I could reproduce it on a fresh Ubuntu 16.04 install (which I was about to setup for myself anyway). It turns out that for that case a virtual font within a virtual font is to be used, which PyX didn't support yet. Adding it was surprisingly easy, please find by fix in changeset 3678. This resolves the issue for me, it probably does so for you as well. Best, André Am 06.05.2016 um 19:38 schrieb Brendon Higgins <blh...@gm...>: > Hi list, > > I can't make heads nor tails of this weird problem I'm seeing while trying to > use newtx fonts. Here's a minimized example that causes the problem for me: > > from pyx import * > text.set(cls=text.LatexRunner) > text.preamble(r'''\usepackage{newtxtext,newtxmath}''') > c = canvas.canvas() > c.text(0, 0, r"Remove the period to make this work: $12.45$") > c.writePDFfile("test") > > If I run this, at the final line I get "RuntimeError: missing font information > for 'txmi'; check fontmapping file(s)". If I remove the period, everything > works great - no problem with numbers. It also works fine if I don't use math > mode. I did notice that if I replace the numbers with "$\alpha$" the problem > comes back, but I haven't found a pattern to the behaviour (e.g. "$\in$" is > fine). > > Perhaps it's just my installation/distribution that has a problem. (I'm using > Debian testing, for what it's worth.) The error message says "check > fontmapping file(s)", but I have no clue where to start! I'm already in way > over my head with TeX's font system, so insight is much appreciated. :) > > Peace, > Brendon > > ------------------------------------------------------------------------------ > Find and fix application performance issues faster with Applications Manager > Applications Manager provides deep performance insights into multiple tiers of > your business applications. It resolves application problems quickly and > reduces your MTTR. Get your free trial! > https://ad.doubleclick.net/ddm/clk/302982198;130105516;z > _______________________________________________ > PyX-user mailing list > PyX...@li... > https://lists.sourceforge.net/lists/listinfo/pyx-user -- by _ _ _ Dr. André Wobst, Amselweg 22, 85716 Unterschleißheim / \ \ / ) wo...@us..., http://www.wobsta.de/ / _ \ \/\/ / PyX - High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ |
From: Brendon H. <blh...@gm...> - 2016-05-06 17:38:14
|
Hi list, I can't make heads nor tails of this weird problem I'm seeing while trying to use newtx fonts. Here's a minimized example that causes the problem for me: from pyx import * text.set(cls=text.LatexRunner) text.preamble(r'''\usepackage{newtxtext,newtxmath}''') c = canvas.canvas() c.text(0, 0, r"Remove the period to make this work: $12.45$") c.writePDFfile("test") If I run this, at the final line I get "RuntimeError: missing font information for 'txmi'; check fontmapping file(s)". If I remove the period, everything works great - no problem with numbers. It also works fine if I don't use math mode. I did notice that if I replace the numbers with "$\alpha$" the problem comes back, but I haven't found a pattern to the behaviour (e.g. "$\in$" is fine). Perhaps it's just my installation/distribution that has a problem. (I'm using Debian testing, for what it's worth.) The error message says "check fontmapping file(s)", but I have no clue where to start! I'm already in way over my head with TeX's font system, so insight is much appreciated. :) Peace, Brendon |
From: André W. <wo...@us...> - 2016-02-24 04:44:38
|
Hi, the intended solution is to not alter the ticks, but alter their output. You can do so by passing options to the painter. Setting the labelattrs to None, i.e. "x=graph.axis.linear(painter=graph.axis.painter.regular(labelattrs=None))", will skip drawing to typeset them. Best, André Am 24.02.2016 um 00:05 schrieb Néstor Espinoza <nse...@uc...>: > Hi everyone, > > I recently ran into a problem with a plot I'm trying to make. Suppose I have a plot and want to remove the labels of the x-axis ticks. My first idea was to just "paint" the labels with empty strings using manual ticks, but in the attached example this creates an annoying 2.5 label, including the fact that the plot ticks are different from a plot without the manual ticks (see attached code below). Do any of you know how to solve this issue? Is this intended? Is there an easier way of doing this? > > Thanks in advance! > > #################################################### > import numpy as np > from pyx import * > # Generate data: > x = np.arange(51)/10. > y = x > > # Define manual ticks to remove the labels of the ticks: > mticks = [graph.axis.tick.tick(1,label=""),graph.axis.tick.tick(2,label=""),\ > graph.axis.tick.tick(3,label=""),graph.axis.tick.tick(4,label=""),\ > graph.axis.tick.tick(5,label=""),graph.axis.tick.tick(0,label="")] > > # Plot: > c = canvas.canvas() > g = c.insert(graph.graphxy(height=10,width=15,\ > x = graph.axis.linear(min=0,max=5,manualticks=mticks, title = 'x-axis'),\ > y = graph.axis.linear(min=0,max=5,title = 'y-axis'))) > > g.plot(graph.data.values(x=x,y=y, title = None),\ > styles = [graph.style.line([color.cmyk.Red,\ > style.linestyle.dashed,\ > style.linewidth.thin])]) > > c.writeEPSfile('plot_example') > c.writePDFfile('plot_example') > > #################################################### > > -- > Néstor Espinoza > PhD Candidate > Instituto de Astrofísica > Pontificia Universidad Catolica de Chile > Phone (office): (+562) 23547052 > Web: http://www.astro.puc.cl/~nespino > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140_______________________________________________ > PyX-user mailing list > PyX...@li... > https://lists.sourceforge.net/lists/listinfo/pyx-user -- by _ _ _ Dr. André Wobst, Amselweg 22, 85716 Unterschleißheim / \ \ / ) wo...@us..., http://www.wobsta.de/ / _ \ \/\/ / PyX - High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ |
From: Néstor E. <nse...@uc...> - 2016-02-23 23:05:48
|
Hi everyone, I recently ran into a problem with a plot I'm trying to make. Suppose I have a plot and want to remove the labels of the x-axis ticks. My first idea was to just "paint" the labels with empty strings using manual ticks, but in the attached example this creates an annoying 2.5 label, including the fact that the plot ticks are different from a plot without the manual ticks (see attached code below). Do any of you know how to solve this issue? Is this intended? Is there an easier way of doing this? Thanks in advance! #################################################### import numpy as np from pyx import * # Generate data: x = np.arange(51)/10. y = x # Define manual ticks to remove the labels of the ticks: mticks = [graph.axis.tick.tick(1,label=""),graph.axis.tick.tick(2,label=""), \ graph.axis.tick.tick(3,label=""),graph.axis.tick.tick(4 ,label=""),\ graph.axis.tick.tick(5,label=""),graph.axis.tick.tick(0 ,label="")] # Plot: c = canvas.canvas() g = c.insert(graph.graphxy(height=10,width=15,\ x = graph.axis.linear(min=0,max=5,manualticks=mticks, title = 'x-axis'),\ y = graph.axis.linear(min=0,max=5,title = 'y-axis'))) g.plot(graph.data.values(x=x,y=y, title = None),\ styles = [graph.style.line([color.cmyk.Red,\ style.linestyle.dashed,\ style.linewidth.thin])]) c.writeEPSfile('plot_example') c.writePDFfile('plot_example') #################################################### -- Néstor Espinoza PhD Candidate Instituto de Astrofísica Pontificia Universidad Catolica de Chile Phone (office): (+562) 23547052 Web: http://www.astro.puc.cl/~nespino |
From: André W. <wo...@us...> - 2016-02-05 15:24:31
|
Hi Michael, Am 31.01.2016 um 17:38 schrieb Michael J Gruber <mic...@fa...>: > André Wobst venit, vidit, dixit 30.01.2016 22:32: >> Hi Michael, >> >> Am 30.01.2016 um 17:52 schrieb Michael J Gruber <mic...@fa...>: >>> specials >>> ======== >>> >>> Is there a way to silence those warnings about ignored specials (other >>> than changing the overall logger level)? >> >> You need to write a texmessage parser for that. This might sound complicated, but it actually is very simple. A texmessage parser is just a function being called with one argument, a string, and it returns a string. The string it receives is the TeX output on the console. It the texmessage parser "understands" this message (or part of it), it has to remove this string from the TeX output, it is responsible for. The rest of the string is to be returned. That's it. > > I don't think that the texmessage parser will catch the warnings about > specials from dvi/dvifile.py... I'm sorry, I totally missed that. You're right. > My post is really about these questions: > > - Why doesn't texmessage.load_def (which is used by default) catch the > .fd file loads? Weird. Do you have an example? I failed to reproduce it here in some simple tests (your example included). Note that there was an surprisingly stupid bug in the texmessage.load_def, which has been fixed in PyX 0.14.1. Maybe you're still on an older version of PyX? > - Why isn't texmessage.no_nav used by default? Because I hardly ever needed it. (I guess I never needed it at all.) But you're right: It probably doesn't make any harm. Maybe with the exception for piling up the package documentation with default settings hardly ever needed in regular use cases for PyX. But I'm willing to follow some wished by the community, if its not too esoteric. I'm doubtful that things like .nav files, geometry, everyshipout or hyperref are really a regular use case, but I'm fine to get outvoted. > - Why aren't there defaults (or at least supplied parsers) that catch > the latex messages from a standard beamer.cls run? A simple question deserving a simple answer: Because nobody wrote it so far. > - How do I silence dvifile.py's warnings about ignored specials without > ignoring all other warnings, or to put it differently: Why are they > warning and not info? Because non-pyx specials are ignored, and that should not be silenced. A warning is just the right thing IMHO. I don't know whether there is an elegant way to silence specific warnings programmatically. Probably, but I don't know. But to continue why ignoring specials should never be silenced by default, consider the following example using latex + dvips: \documentclass{article} \usepackage{helvet} \begin{document} \sffamily\char0 \end{document} It results in a warning as Gamma is not available using the helvet package. (This is a rather funny special Jörg found years ago when implementing virtual fonts; the special comes from within a virtual font.) PyX behaves quite similarly for any special it does not know about (which is however quite different from the set of specials dvips can handle). I think, this is what "fail gracefully" for unknown specials is meant in the TeXBook by Knuth. Now do the same in pdflatex. It will silently ignore the special, which is horribly bad IMHO. > texmessage.ignore and logging.ERROR are the easy way out that most users > will take unless there is help from the shipped defaults > (texmessage.geometry or such). I just had a look at the output of the geometry package. While I do understand that they inform about auto-guessing the driver (which can easily prevented by a driver=... argument), the funny thing is, that it remains to output the same information about the driver *on the top level* of the output when specified explicitly. Even on the default verbose=false mode. No message is a good message, whoa? (It would be silenced by PyX if it would not be echoed on the top level.) Now, PyX could silence it by a specific texmessage.geometry parser, right. Nobody wrote one so far, as geometry seems a rather uncommon setting for typesetting within PyX. Anyway, one needs to analyze the log output of geometry in all its variations to make a proper parser. Same goes for hyperref and the everyshipout warnings. I just have to say (well, or claim), that all that is really uncommon to be used from within PyX. Hint: Instead of texmessage.ignore there also is texmessage.warn to get "strange" TeX running from within PyX but not silenced. PyX tries to not be verbose, but not hide any information. This is really hard given the unstructured nature of LaTeX packages output. Suggestions for message parsers are welcome. Best, André -- by _ _ _ Dr. André Wobst, Amselweg 22, 85716 Unterschleißheim / \ \ / ) wo...@us..., http://www.wobsta.de/ / _ \ \/\/ / PyX - High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ |
From: René B. <rba...@mu...> - 2016-02-04 14:56:04
|
Le Thu, 4 Feb 2016 11:34:22 +0100, René Bastian <rba...@mu...> a écrit : > Salut, > > translate eps code to pyx is painfull; are there automatic means? yes, i wrote it > > grüzzi, > > René > -- René Bastian www.pythoneon.org |
From: René B. <rba...@mu...> - 2016-02-04 10:33:35
|
Salut, translate eps code to pyx is painfull; are there automatic means? grüzzi, René -- René Bastian www.pythoneon.org |
From: André W. <wo...@us...> - 2016-02-01 19:52:38
|
Hi René, multilineto_pt is just an performance (and memory optimization), but does not bring any new features technically. Also, we provided it in postscript points only (hence the _pt suffix), so it is not the usual api to be used by end users. (Instead it is used to improve performance for certain graph plottings.) Now, consider we want to construct a square of 100pt x 100 pt with multilineto_pt, it'll look like: p = path.path() p.append(path.moveto_pt(0, 0)) p.append(path.multilineto_pt([(100, 0), (100, 100), (0, 100)])) p.append(path.closepath()) We can achieve the same by using simple path elements like this: p = path.path() p.append(path.moveto_pt(0, 0)) p.append(path.lineto_pt(100, 0)) p.append(path.lineto_pt(100, 100)) p.append(path.lineto_pt(0, 100)) p.append(path.closepath()) It's just a few more objects being created, but the output is identical. Now we can transfer it to use relative coordinates: p = path.path() p.append(path.moveto_pt(0, 0)) p.append(path.rlineto_pt(100, 0)) p.append(path.rlineto_pt(0, 100)) p.append(path.rlineto_pt(-100, 0)) p.append(path.closepath()) and also create the path using a list of points like this: p = path.path() p.append(path.moveto_pt(0, 0)) for x_pt, y_pt in [(100, 0), (0, 100), (-100, 0)]: p.append(path.rlineto_pt(x_pt, y_pt)) p.append(path.closepath()) When you compare it to the starting point, you'll notice that instead of appending the (non-existing) path.multirlineto_pt to a path, you need to insert a number of rlineto_pt elements: p.append(path.multirlineto_pt([(100, 0), (0, 100), (-100, 0)])) # does not exist in PyX is equivalent to for x_pt, y_pt in [(100, 0), (0, 100), (-100, 0)]: p.append(path.rlineto_pt(x_pt, y_pt)) Note that all this has nothing to do with gsave and grestore, which is only related to the Postscript graphics state. You can translate the path and insert it multiple times as you wish: c.fill(p, [trafo.translate(1, 1)]) c.fill(p, [trafo.translate(2, 2)]) PyX does not optimize the output by storing such paths once on the stack and reuse it multiple times, nor does it make use of "use"-tags in svg. This could be done, but it just an output optimization. Best, André Am 29.01.2016 um 16:25 schrieb rba...@mu...: > > Please, use https://translate.google.de or https://translate.google.fr > > 2016.01.28 > > Guten Abend, > > ich habe eine Sammlung von Musikzeichen (Alterationen, Dynamik usw) in > PostScript (ursprünglich von Daniel Taupin); ich habe einige nach SVG > übersetzt. > > Die Übersetzung nach PyX geht fehl, weil 'multilineto_pt' > absolute (x, y) erwartet. > > Wäre eine Klasse 'multirlineto_pt' möglich? > > In den EPS-files: Abkapselung durch gsave ... grestore. > > In den SVG-file, Anwendung der Symbole mit '<use .../>': > z.B.: > <use xlink:href="#diese" x="2800" y="-1500" transform="scale(0.1,-0.1)" /> > > Oder gibt's das schon irgendwo in PyX ? > (Ellipsen gibt es auch, nur nicht im Manual :) > > > René Bastian > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > _______________________________________________ > PyX-user mailing list > PyX...@li... > https://lists.sourceforge.net/lists/listinfo/pyx-user -- by _ _ _ Dr. André Wobst, Amselweg 22, 85716 Unterschleißheim / \ \ / ) wo...@us..., http://www.wobsta.de/ / _ \ \/\/ / PyX - High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ |
From: Michael J G. <mic...@fa...> - 2016-01-31 16:39:16
|
André Wobst venit, vidit, dixit 30.01.2016 22:32: > Hi Michael, > > Am 30.01.2016 um 17:52 schrieb Michael J Gruber <mic...@fa...>: >> specials >> ======== >> >> Is there a way to silence those warnings about ignored specials (other >> than changing the overall logger level)? > > You need to write a texmessage parser for that. This might sound complicated, but it actually is very simple. A texmessage parser is just a function being called with one argument, a string, and it returns a string. The string it receives is the TeX output on the console. It the texmessage parser "understands" this message (or part of it), it has to remove this string from the TeX output, it is responsible for. The rest of the string is to be returned. That's it. I don't think that the texmessage parser will catch the warnings about specials from dvi/dvifile.py... My post is really about these questions: - Why doesn't texmessage.load_def (which is used by default) catch the .fd file loads? - Why isn't texmessage.no_nav used by default? - Why aren't there defaults (or at least supplied parsers) that catch the latex messages from a standard beamer.cls run? - How do I silence dvifile.py's warnings about ignored specials without ignoring all other warnings, or to put it differently: Why are they warning and not info? texmessage.ignore and logging.ERROR are the easy way out that most users will take unless there is help from the shipped defaults (texmessage.geometry or such). Michael |
From: André W. <wo...@us...> - 2016-01-30 21:32:47
|
Hi Michael, Am 30.01.2016 um 17:52 schrieb Michael J Gruber <mic...@fa...>: > specials > ======== > > Is there a way to silence those warnings about ignored specials (other > than changing the overall logger level)? You need to write a texmessage parser for that. This might sound complicated, but it actually is very simple. A texmessage parser is just a function being called with one argument, a string, and it returns a string. The string it receives is the TeX output on the console. It the texmessage parser "understands" this message (or part of it), it has to remove this string from the TeX output, it is responsible for. The rest of the string is to be returned. That's it. Best, André -- by _ _ _ Dr. André Wobst, Amselweg 22, 85716 Unterschleißheim / \ \ / ) wo...@us..., http://www.wobsta.de/ / _ \ \/\/ / PyX - High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ |
From: Michael J G. <mic...@fa...> - 2016-01-30 16:52:39
|
Hi there, I've been experimenting with PyX graphics included in beamer presentations (the ubiquitious "beamer" LaTeX class), and noticed an issue with fonts. Typically, you want the same fonts in your included graphics that you have in the surrounding document. The simplest way of achieving that is using the same document class and font related preamble commands for PyX that you use in your main document. Given how much font wrangling beamer.cls does, that also seems to be the only realistic option (rather than trying to emulate the font setup). The attached beamer.tex includes a pdf generated from beamerpyx.py and compares the result - the two lines should be identical, especially the last part where the fon wrangling of beamer.cls becomes important. The PyX file compiles only when I ask PyX to ignore (or merely warn about) certain errors. Specifically: begindoc ======== I can quell the message about the nav-file using texmessage.no_nav but that leaves the stuff from hyperref, EveryShipOut and geometry. Is there a reason not to ignore "nav"-warnings by default? Can we maybe ignore the others by default, too, or at least provide a default parser? run === I have no clue why texmessage.load_def doesn't catch the fd-file messages. specials ======== Is there a way to silence those warnings about ignored specials (other than changing the overall logger level)? Cheers Michael P.S.: The proper approach would be to create the slides from within PyX, of course. :) |
From: <rba...@mu...> - 2016-01-29 15:24:44
|
Please, use https://translate.google.de or https://translate.google.fr 2016.01.28 Guten Abend, ich habe eine Sammlung von Musikzeichen (Alterationen, Dynamik usw) in PostScript (ursprünglich von Daniel Taupin); ich habe einige nach SVG übersetzt. Die Übersetzung nach PyX geht fehl, weil 'multilineto_pt' absolute (x, y) erwartet. Wäre eine Klasse 'multirlineto_pt' möglich? In den EPS-files: Abkapselung durch gsave ... grestore. In den SVG-file, Anwendung der Symbole mit '<use .../>': z.B.: <use xlink:href="#diese" x="2800" y="-1500" transform="scale(0.1,-0.1)" /> Oder gibt's das schon irgendwo in PyX ? (Ellipsen gibt es auch, nur nicht im Manual :) René Bastian |
From: Simon B. <si...@ar...> - 2016-01-26 22:28:21
|
Ah, thankyou this is exactly what I was looking for. Although I fear this will greatly delay the writing of my thesis! Simon. On Tue, 26 Jan 2016 14:12:00 +0100 André Wobst <wo...@us...> wrote: > Hi Simon, > > sorry for my late reply. > > As we added 3d graphs with surfaces, we indeed added a feature called "meshs", which can be used to fill triangles with color gradients. (While there are other mesh forms in Postscript and PDF as well, we only support triangular meshs.) > > Here is a simple example drawing a square with red, green, blue and yellow on each of the corners (in RBG here): > > from pyx import * > > c = canvas.canvas() > c.insert(mesh.mesh([mesh.element([mesh.node([0, 0], color.rgb.red), > mesh.node([10, 0], color.rgb.green), > mesh.node([0, 10], color.rgb.blue)]), > mesh.element([mesh.node([10, 10], color.rgb(1, 1, 0)), > mesh.node([10, 0], color.rgb.green), > mesh.node([0, 10], color.rgb.blue)])])) > c.writePDFfile() > > The mesh interpolates between the colors in the given color model linearly. Meshs are available in Postscript and PDF, not in SVG. > > Note that meshs are a "difficult" graphics feature. There are sometimes bugs in the RIPs of printers or viewer applications. As ghostscript can rasterize those meshs rather nicely, you can set the mesh_as_bitmap flag of the writer to replace the mesh by a bitmap. Also note that meshs are not available in SVG. There will always be a bitmap inserted in SVG instead of the original mesh. > > (Note that in SVG there are simple gradients possible: linearly and circular gradients similar to what you quoted from cairo in another reply in this thread. But mesh-like color gradients on triangles are not available. Maybe there are some tricks to "fake" this in SVG my two overlapping gradients and using transparency, but I didn't look at it at all. The gradient features of SVG are not available from within PyX at the moment.) > > Best, > > > André > > Am 23.01.2016 um 16:33 schrieb Simon Burton <si...@ar...>: > > > > > Hi Pyxers, > > > > is there a way to fill paths with a gradient, instead of a single colour? > > > > I am bravely attempting to render some stylized 3D objects and gradients sure > > would help with this. > > > > Ok, thanks. > > > > Simon. > > > > ------------------------------------------------------------------------------ > > Site24x7 APM Insight: Get Deep Visibility into Application Performance > > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > > Monitor end-to-end web transactions and take corrective actions now > > Troubleshoot faster and improve end-user experience. Signup Now! > > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > > _______________________________________________ > > PyX-user mailing list > > PyX...@li... > > https://lists.sourceforge.net/lists/listinfo/pyx-user > > -- > by _ _ _ Dr. André Wobst, Amselweg 22, 85716 Unterschleißheim > / \ \ / ) wo...@us..., http://www.wobsta.de/ > / _ \ \/\/ / PyX - High quality PostScript and PDF figures > (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ > |
From: André W. <wo...@us...> - 2016-01-26 13:12:28
|
Hi Simon, sorry for my late reply. As we added 3d graphs with surfaces, we indeed added a feature called "meshs", which can be used to fill triangles with color gradients. (While there are other mesh forms in Postscript and PDF as well, we only support triangular meshs.) Here is a simple example drawing a square with red, green, blue and yellow on each of the corners (in RBG here): from pyx import * c = canvas.canvas() c.insert(mesh.mesh([mesh.element([mesh.node([0, 0], color.rgb.red), mesh.node([10, 0], color.rgb.green), mesh.node([0, 10], color.rgb.blue)]), mesh.element([mesh.node([10, 10], color.rgb(1, 1, 0)), mesh.node([10, 0], color.rgb.green), mesh.node([0, 10], color.rgb.blue)])])) c.writePDFfile() The mesh interpolates between the colors in the given color model linearly. Meshs are available in Postscript and PDF, not in SVG. Note that meshs are a "difficult" graphics feature. There are sometimes bugs in the RIPs of printers or viewer applications. As ghostscript can rasterize those meshs rather nicely, you can set the mesh_as_bitmap flag of the writer to replace the mesh by a bitmap. Also note that meshs are not available in SVG. There will always be a bitmap inserted in SVG instead of the original mesh. (Note that in SVG there are simple gradients possible: linearly and circular gradients similar to what you quoted from cairo in another reply in this thread. But mesh-like color gradients on triangles are not available. Maybe there are some tricks to "fake" this in SVG my two overlapping gradients and using transparency, but I didn't look at it at all. The gradient features of SVG are not available from within PyX at the moment.) Best, André Am 23.01.2016 um 16:33 schrieb Simon Burton <si...@ar...>: > > Hi Pyxers, > > is there a way to fill paths with a gradient, instead of a single colour? > > I am bravely attempting to render some stylized 3D objects and gradients sure > would help with this. > > Ok, thanks. > > Simon. > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > _______________________________________________ > PyX-user mailing list > PyX...@li... > https://lists.sourceforge.net/lists/listinfo/pyx-user -- by _ _ _ Dr. André Wobst, Amselweg 22, 85716 Unterschleißheim / \ \ / ) wo...@us..., http://www.wobsta.de/ / _ \ \/\/ / PyX - High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ |
From: Michael J G. <mic...@fa...> - 2016-01-25 12:39:54
|
Hi there, if you want to stroke a path with a gradient you can use the colorgradient decorator like so: from pyx import * c=canvas.canvas() c.stroke(path.line(0,0,1,1),[style.linewidth(1),deco.colorgradient(color.gradient.BlueRed)]) If you really want to fill (the interior of) a path I think you will have to fill a canvas with the gradient and clip that canvas by the path. (for a similar approach with patterns, see http://nbviewer.ipython.org/urls/sf.net/p/pyx/gallery/pattern/attachment/pattern.ipynb) For filling the canvas you can (ab)-use bitmaps. I seem to remember that "shadings" are the proper approach and that we talked about that before, but I can't find my own examples right now. Let's hope decorated paths do it for you :) Michael René Bastian venit, vidit, dixit 23.01.2016 18:01: > Le Sun, 24 Jan 2016 03:29:57 +1100, > Simon Burton <si...@ar...> a écrit : > >> On Sat, 23 Jan 2016 17:02:31 +0100 >> René Bastian <rba...@mu...> wrote: >> >>> Le Sun, 24 Jan 2016 02:33:54 +1100, >>> Simon Burton <si...@ar...> a écrit : >>> >>>> >>>> Hi Pyxers, >>>> >>>> is there a way to fill paths with a gradient, instead of a single >>>> colour? >>>> >>> cf. color.gradients in the manual p. 79 (86) >> >> Yes, I found this previously but I have no idea how to use it in a >> fill. >> > > Another ex: > > http://pyx.sourceforge.net/examples/3dgraphs/color.html >> >> Cheers, >> Simon. >> >> ------------------------------------------------------------------------------ >> Site24x7 APM Insight: Get Deep Visibility into Application Performance >> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month >> Monitor end-to-end web transactions and take corrective actions now >> Troubleshoot faster and improve end-user experience. Signup Now! >> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 >> _______________________________________________ >> PyX-user mailing list >> PyX...@li... >> https://lists.sourceforge.net/lists/listinfo/pyx-user > > > |
From: René B. <rba...@mu...> - 2016-01-23 17:00:41
|
Le Sun, 24 Jan 2016 03:29:57 +1100, Simon Burton <si...@ar...> a écrit : > On Sat, 23 Jan 2016 17:02:31 +0100 > René Bastian <rba...@mu...> wrote: > > > Le Sun, 24 Jan 2016 02:33:54 +1100, > > Simon Burton <si...@ar...> a écrit : > > > > > > > > Hi Pyxers, > > > > > > is there a way to fill paths with a gradient, instead of a single > > > colour? > > > > > cf. color.gradients in the manual p. 79 (86) > > Yes, I found this previously but I have no idea how to use it in a > fill. > Another ex: http://pyx.sourceforge.net/examples/3dgraphs/color.html > > Cheers, > Simon. > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > _______________________________________________ > PyX-user mailing list > PyX...@li... > https://lists.sourceforge.net/lists/listinfo/pyx-user -- René Bastian www.pythoneon.org |
From: Simon B. <si...@ar...> - 2016-01-23 16:30:09
|
On Sat, 23 Jan 2016 17:02:31 +0100 René Bastian <rba...@mu...> wrote: > Le Sun, 24 Jan 2016 02:33:54 +1100, > Simon Burton <si...@ar...> a écrit : > > > > > Hi Pyxers, > > > > is there a way to fill paths with a gradient, instead of a single > > colour? > > > cf. color.gradients in the manual p. 79 (86) Yes, I found this previously but I have no idea how to use it in a fill. Eg. this is an example from cairo: http://zetcode.com/gfx/cairo/gradients/ Cheers, Simon. |
From: René B. <rba...@mu...> - 2016-01-23 16:01:46
|
Le Sun, 24 Jan 2016 02:33:54 +1100, Simon Burton <si...@ar...> a écrit : > > Hi Pyxers, > > is there a way to fill paths with a gradient, instead of a single > colour? > cf. color.gradients in the manual p. 79 (86) > I am bravely attempting to render some stylized 3D objects and > gradients sure would help with this. > > Ok, thanks. > > Simon. > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > _______________________________________________ > PyX-user mailing list > PyX...@li... > https://lists.sourceforge.net/lists/listinfo/pyx-user -- René Bastian www.pythoneon.org |
From: Simon B. <si...@ar...> - 2016-01-23 15:52:59
|
Hi Pyxers, is there a way to fill paths with a gradient, instead of a single colour? I am bravely attempting to render some stylized 3D objects and gradients sure would help with this. Ok, thanks. Simon. |
From: André W. <wo...@us...> - 2016-01-19 16:13:00
|
Hi Alan, hi Michael, I'm sorry for being quiet for so long. I do understand the problem, and I actually consider the function plotting feature to be barely existing at all within PyX. We can do much better. I do have a plan, how to do it. I actually have it for years, but never got to implement it. I take it to my TODO list, to be addressed in a few weeks, but not at the moment. I don't have time for it right now. My goal is to properly plot things like y(x)=sin(exp(x)) and such things as well, not just to properly handle poles. Best, André Am 19.01.2016 um 16:57 schrieb Alan G Isaac <ai...@am...>: > The advantage of exclusions is that it is impervious to > the number of points chosen for the function plot, > whereas a slope restriction is not. It is easy enough > to produce a modest slope between to points on each > side of a singularity. (E.g., abs(1/x).) > > So I don't really think that focusing on the slope > is addressing the problem. > > Alan Isaac > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 > _______________________________________________ > PyX-user mailing list > PyX...@li... > https://lists.sourceforge.net/lists/listinfo/pyx-user -- by _ _ _ Dr. André Wobst, Amselweg 22, 85716 Unterschleißheim / \ \ / ) wo...@us..., http://www.wobsta.de/ / _ \ \/\/ / PyX - High quality PostScript and PDF figures (_/ \_)_/\_/ with Python & TeX: visit http://pyx.sourceforge.net/ |
From: Alan G I. <ai...@am...> - 2016-01-19 15:57:59
|
The advantage of exclusions is that it is impervious to the number of points chosen for the function plot, whereas a slope restriction is not. It is easy enough to produce a modest slope between to points on each side of a singularity. (E.g., abs(1/x).) So I don't really think that focusing on the slope is addressing the problem. Alan Isaac |
From: Michael J G. <mic...@fa...> - 2016-01-19 07:32:28
|
Hi Alan, yes, Mathematica's exclusions are basically our "None". A value of "None" makes the plot line style end the line and start a new one with the first proper value. Right now, there is no way to specify "None" values besides doing it explicitely in the function definition. Also, the outcome depends on the fact whether the dicretised x-values happen to hit the singularity exactly (within float limits) or not, see 100 points vs. 101 points. Proper treatment will always involve user choices, such as a "valid y range" (as I suggested) or an upper Lipshitz bound (as in the stackexchange article). My question (request for discussion) is how we should provide a good user interface for that in PyX. Michael Alan G Isaac venit, vidit, dixit 18.01.2016 15:22: > Mathematica addresses this with the concept of Exclusions, > which works nicely when you know enough about the function. > Here's some discussion of difficulties it does not fully > address: > http://mathematica.stackexchange.com/questions/10501/plotting-discontinuous-functions-without-spurious-vertical-segments > > Alan Isaac > > > -----Michael J Gruber wrote: ----- > From: Michael J Gruber > Sent: Monday, January 18, 2016 2:54AM > To: Pyx-user > Subject: Re: [PyX-user] Avoid spurious lines with singularities > >> I think the graph.data.function() family (or the line style?) could >> really use an absmax argument, or ymin and ymax, which would turn on a >> rangecutter. |
From: Michael J G. <mic...@fa...> - 2016-01-18 07:54:26
|
Here's a simple example of what I mean: Depending on whether you use 100 or 101 points, "y(x)=1/x" is plotted with or without a spurious almost vertical line at 0. The reason is that with 101 points, one evaluation throws a ZeroDivision exception which graph.data.function catches and turns into "y=None", which tells graph.style.line to cut the line. With 100 points, "singular" values" merely reach 50, which is way beyond my clipping range but not that far on the way to infinity, of course. In my third example, I demonstrate what I mean by range cutting using a wrapper. This again avoids the extra vertical line. I think the graph.data.function() family (or the line style?) could really use an absmax argument, or ymin and ymax, which would turn on a rangecutter. Having this on by default would be useful, but the example also shows that a good default value would be difficult to choose - it could be based on the min and max for the yaxis (times 10 or so), although that could cause other problems. Michael P.S.: I'm not sure about this list's policy reagrding attachments. Sorry if the pdf should be out of place. |
From: Michael J G. <mic...@fa...> - 2016-01-16 15:17:52
|
Hi there, I'm sure this is a FAQ, I just couldn't find it: function plots with PyX for functions such as 1/x apparently try to connect the points +infinity and -infinty near x=0 by an almost vertical line, even if I clip the plot. The reason is probably that 1/x returns large but finite values for x near 0 (but neither None nor NaN). Is there an easy way to tell PyX that values outside a certain range are None or NaN? I just don't want to wrap all my simple rationale functions by an extra wrapper that does that, I usually specify them as strings, not lambda expressions. Michael |
From: <rba...@mu...> - 2015-12-30 17:42:44
|
2015.12.30 Example of electronic music notation with PyX: http://www.pythoneon.org/RST/notation0.html René B. |