Hello, I'm just starting with pgfplots library. I have two plots, one being filled: ---- \usemodule[pgfplots] \starttext \starttikzpicture \startaxis[legend entries={Sin,Cos}] \addplot+[mark=none] {sin(deg(x))}; \addplot+[mark=none,fill]{cos(deg(x))}; \stopaxis \stoptikzpicture \stoptext ---- The problem is that the latter plot hides the former as they appear in the order they are defined. A solution would be to change the order - to swap plot "Sin" and "Cos". But also I need to keep the order in which plots appear in the legend - it's important to keep "Sin" followed by "Cos"; I'm looking for a way to set the order of plots, something like \addplot+[mark=none,order=2] {sin(deg(x))}; \addplot+[mark=none,order=1] {sin(deg(x))}; or \addplot+[mark=none,z=2] {sin(deg(x))}; \addplot+[mark=none,z=1] {sin(deg(x))}; Although I'm having pgfplots.pdf ("Package PGFPLOTS manual", 20. 10. 2013) open, I cannot find a solution. Would anyone more experienced have an idea? Best regards, Lukas -- Ing. Lukáš Procházka | mailto:LPr@pontex.cz Pontex s. r. o. | mailto:pontex@pontex.cz | http://www.pontex.cz Bezová 1658 147 14 Praha 4 Tel: +420 241 096 751 Fax: +420 244 461 038
On 21 December 2015 at 13:55, Procházka Lukáš Ing. - Pontex s. r. o. wrote:
Hello,
I'm just starting with pgfplots library.
I have two plots, one being filled:
---- \usemodule[pgfplots]
\starttext \starttikzpicture \startaxis[legend entries={Sin,Cos}] \addplot+[mark=none] {sin(deg(x))}; \addplot+[mark=none,fill]{cos(deg(x))}; \stopaxis \stoptikzpicture \stoptext ----
The problem is that the latter plot hides the former as they appear in the order they are defined.
A solution would be to change the order - to swap plot "Sin" and "Cos".
But also I need to keep the order in which plots appear in the legend - it's important to keep "Sin" followed by "Cos"; I'm looking for a way to set the order of plots, something like
\addplot+[mark=none,order=2] {sin(deg(x))}; \addplot+[mark=none,order=1] {sin(deg(x))};
or
\addplot+[mark=none,z=2] {sin(deg(x))}; \addplot+[mark=none,z=1] {sin(deg(x))};
Although I'm having pgfplots.pdf ("Package PGFPLOTS manual", 20. 10. 2013) open, I cannot find a solution.
Would anyone more experienced have an idea?
There is an option "z buffer", but I guess that's only applicable for a single \addplot. There is an option "reverse legend" (page 213), but you might need to take extra care about colours: \startaxis[legend entries={Cos,Sin},reverse legend] \addplot+[mark=none,fill]{cos(deg(x))}; \addplot+[mark=none] {sin(deg(x))}; \stopaxis There is an option "reverse stacked plots" which I don't fully understand, but it claims to reverse a number of things. There is (somewhat low level) support for layers in TikZ. You can look for "on background", "pgfonlayer", "on background layer", etc. (But that calls for slightly more work than just providing a simple option like "zorder=..."). If you don't get the answer here, I would suggest you to ask the author of pgfplots, to raise the question on their mailing list (if they have one) or to try luck on http://tex.stackexchange.com/. There are probably not so many experts in pgfplots on this mailing list and the question doesn't seem to be ConTeXt-specific. (I'm often using matplotlib with export to TikZ, even though that's sometimes horribly slow and probably not exactly what you were looking for either.) Mojca
Hello Mojca,
thanks a lot for your answer and proposals.
I'll try them one after other... Option "reverse legend" is most promising so far.
Best regards,
Lukas
On Mon, 21 Dec 2015 14:45:25 +0100, Mojca Miklavec
On 21 December 2015 at 13:55, Procházka Lukáš Ing. - Pontex s. r. o. wrote:
Hello,
I'm just starting with pgfplots library.
I have two plots, one being filled:
---- \usemodule[pgfplots]
\starttext \starttikzpicture \startaxis[legend entries={Sin,Cos}] \addplot+[mark=none] {sin(deg(x))}; \addplot+[mark=none,fill]{cos(deg(x))}; \stopaxis \stoptikzpicture \stoptext ----
The problem is that the latter plot hides the former as they appear in the order they are defined.
A solution would be to change the order - to swap plot "Sin" and "Cos".
But also I need to keep the order in which plots appear in the legend - it's important to keep "Sin" followed by "Cos"; I'm looking for a way to set the order of plots, something like
\addplot+[mark=none,order=2] {sin(deg(x))}; \addplot+[mark=none,order=1] {sin(deg(x))};
or
\addplot+[mark=none,z=2] {sin(deg(x))}; \addplot+[mark=none,z=1] {sin(deg(x))};
Although I'm having pgfplots.pdf ("Package PGFPLOTS manual", 20. 10. 2013) open, I cannot find a solution.
Would anyone more experienced have an idea?
There is an option "z buffer", but I guess that's only applicable for a single \addplot.
There is an option "reverse legend" (page 213), but you might need to take extra care about colours:
\startaxis[legend entries={Cos,Sin},reverse legend] \addplot+[mark=none,fill]{cos(deg(x))}; \addplot+[mark=none] {sin(deg(x))}; \stopaxis
There is an option "reverse stacked plots" which I don't fully understand, but it claims to reverse a number of things.
There is (somewhat low level) support for layers in TikZ. You can look for "on background", "pgfonlayer", "on background layer", etc. (But that calls for slightly more work than just providing a simple option like "zorder=...").
If you don't get the answer here, I would suggest you to ask the author of pgfplots, to raise the question on their mailing list (if they have one) or to try luck on http://tex.stackexchange.com/. There are probably not so many experts in pgfplots on this mailing list and the question doesn't seem to be ConTeXt-specific.
(I'm often using matplotlib with export to TikZ, even though that's sometimes horribly slow and probably not exactly what you were looking for either.)
Mojca ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
-- Ing. Lukáš Procházka | mailto:LPr@pontex.cz Pontex s. r. o. | mailto:pontex@pontex.cz | http://www.pontex.cz Bezová 1658 147 14 Praha 4 Tel: +420 241 096 751 Fax: +420 244 461 038
participants (2)
-
Mojca Miklavec
-
Procházka Lukáš Ing. - Pontex s. r. o.