* Pgfplots - "reverse legend" by Lua
@ 2015-12-22 7:52 Procházka Lukáš Ing. - Pontex s. r. o.
2015-12-22 16:36 ` Aditya Mahajan
0 siblings, 1 reply; 5+ messages in thread
From: Procházka Lukáš Ing. - Pontex s. r. o. @ 2015-12-22 7:52 UTC (permalink / raw)
To: ConTeXt
[-- Attachment #1: Type: text/plain, Size: 1858 bytes --]
Hello,
one more question about pgfplots & Lua:
how to specify "reverse legend" by Lua?
Here are some examples:
- Plot 1 contains no Lua code and gives the desired result (OK);
- Plot 2 uses Lua to specify "legend entries" successfully (OK);
- Plot 3 tries to use Lua to specify "reverese legend", but doesn't work;
----
\usemodule[pgfplots]
\starttext
Plot 1 -- OK
\starttikzpicture
\startaxis[legend entries={Cos,Sin2,Sin},reverse legend]
\addplot+[mark=none,fill,green]{cos(deg(x))}\closedcycle;
\addplot+[mark=none,fill,yellow]{0.5*sin(deg(0.5*x))}\closedcycle;
\addplot+[mark=none,]{sin(deg(x))}\closedcycle;
\stopaxis
\stoptikzpicture
Plot 2 -- Legend by Lua -- OK
\starttikzpicture
%\startaxis[legend entries={Cos,Sin2,Sin}]
\cldcommand{startaxis{["legend entries"] = "{Cos,Sin2,Sin}"}}
\addplot+[mark=none,fill,green]{cos(deg(x))}\closedcycle;
\addplot+[mark=none,fill,yellow]{0.5*sin(deg(0.5*x))}\closedcycle;
\addplot+[mark=none,]{sin(deg(x))}\closedcycle;
\stopaxis
\stoptikzpicture
Plot 3 -- Reverse legend by Lua -- not working
\starttikzpicture
%\startaxis[legend entries={Cos,Sin2,Sin},reverse legend]
\cldcommand{startaxis{["legend entries"] = "{Cos,Sin2,Sin}", "reverse legend"}}
\addplot+[mark=none,fill,green]{cos(deg(x))}\closedcycle;
\addplot+[mark=none,fill,yellow]{0.5*sin(deg(0.5*x))}\closedcycle;
\addplot+[mark=none,]{sin(deg(x))}\closedcycle;
\stopaxis
\stoptikzpicture
\stoptext
----
So how to make Plot 3 work?
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
[-- Attachment #2: t-Plot22.mkiv --]
[-- Type: application/octet-stream, Size: 1231 bytes --]
\usemodule[pgfplots]
\starttext
Plot 1 -- OK
\starttikzpicture
\startaxis[legend entries={Cos,Sin2,Sin},reverse legend]
\addplot+[mark=none,fill,green]{cos(deg(x))}\closedcycle;
\addplot+[mark=none,fill,yellow]{0.5*sin(deg(0.5*x))}\closedcycle;
\addplot+[mark=none,]{sin(deg(x))}\closedcycle;
\stopaxis
\stoptikzpicture
Plot 2 -- Legend by Lua -- OK
\starttikzpicture
%\startaxis[legend entries={Cos,Sin2,Sin}]
\cldcommand{startaxis{["legend entries"] = "{Cos,Sin2,Sin}"}}
\addplot+[mark=none,fill,green]{cos(deg(x))}\closedcycle;
\addplot+[mark=none,fill,yellow]{0.5*sin(deg(0.5*x))}\closedcycle;
\addplot+[mark=none,]{sin(deg(x))}\closedcycle;
\stopaxis
\stoptikzpicture
Plot 3 -- Reverse legend by Lua -- not working
\starttikzpicture
%\startaxis[legend entries={Cos,Sin2,Sin},reverse legend]
\cldcommand{startaxis{["legend entries"] = "{Cos,Sin2,Sin}", "reverse legend"}}
\addplot+[mark=none,fill,green]{cos(deg(x))}\closedcycle;
\addplot+[mark=none,fill,yellow]{0.5*sin(deg(0.5*x))}\closedcycle;
\addplot+[mark=none,]{sin(deg(x))}\closedcycle;
\stopaxis
\stoptikzpicture
\stoptext
[-- Attachment #3: t-Plot22.pdf --]
[-- Type: application/pdf, Size: 12699 bytes --]
[-- Attachment #4: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Pgfplots - "reverse legend" by Lua
2015-12-22 7:52 Pgfplots - "reverse legend" by Lua Procházka Lukáš Ing. - Pontex s. r. o.
@ 2015-12-22 16:36 ` Aditya Mahajan
2015-12-22 17:21 ` Hans Hagen
0 siblings, 1 reply; 5+ messages in thread
From: Aditya Mahajan @ 2015-12-22 16:36 UTC (permalink / raw)
To: mailing list for ConTeXt users
[-- Attachment #1: Type: text/plain, Size: 911 bytes --]
On Tue, 22 Dec 2015, Procházka Lukáš Ing. - Pontex s. r. o. wrote:
>
> \starttikzpicture
> %\startaxis[legend entries={Cos,Sin2,Sin},reverse legend]
> \cldcommand{startaxis{["legend entries"] = "{Cos,Sin2,Sin}", "reverse
> legend"}}
This is not valid lua. On a lua prompt, try
t = {["legend entries"]="{Cos,Sin2,Sin}", "reverse legend"}
you get
stdin:1: table index is nil
stack traceback:
stdin:1: in main chunk
[C]: in ?
One can define a lua table using
{[key]=value, [key]=value, ... } etc
or
{value1, value2, ...} etc.
Mixing the two is not allowed.
In ConTeXt, the two are not mixed. But tikz (and pgfplot) freely mix the
two syntax. So, one way to get the result using lua is (untested)
\ctxlua{"\\startaxis[legend entries={Cos,Sin2,Sin}, reverse legend]"}
where, if needed, you can build the string using string.format.
Aditya
[-- Attachment #2: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Pgfplots - "reverse legend" by Lua
2015-12-22 16:36 ` Aditya Mahajan
@ 2015-12-22 17:21 ` Hans Hagen
2015-12-22 22:11 ` Aditya Mahajan
2015-12-24 22:01 ` Lukáš Procházka
0 siblings, 2 replies; 5+ messages in thread
From: Hans Hagen @ 2015-12-22 17:21 UTC (permalink / raw)
To: ntg-context
On 12/22/2015 5:36 PM, Aditya Mahajan wrote:
> On Tue, 22 Dec 2015, Procházka Lukáš Ing. - Pontex s. r. o. wrote:
>>
>> \starttikzpicture
>> %\startaxis[legend entries={Cos,Sin2,Sin},reverse legend]
>> \cldcommand{startaxis{["legend entries"] = "{Cos,Sin2,Sin}", "reverse
>> legend"}}
>
> This is not valid lua. On a lua prompt, try
>
> t = {["legend entries"]="{Cos,Sin2,Sin}", "reverse legend"}
such a table is valid lua (mixture of indexed and hashed) but of course
the application using it has to know how to use it
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Pgfplots - "reverse legend" by Lua
2015-12-22 17:21 ` Hans Hagen
@ 2015-12-22 22:11 ` Aditya Mahajan
2015-12-24 22:01 ` Lukáš Procházka
1 sibling, 0 replies; 5+ messages in thread
From: Aditya Mahajan @ 2015-12-22 22:11 UTC (permalink / raw)
To: mailing list for ConTeXt users
[-- Attachment #1: Type: text/plain, Size: 535 bytes --]
On Tue, 22 Dec 2015, Hans Hagen wrote:
> On 12/22/2015 5:36 PM, Aditya Mahajan wrote:
>> On Tue, 22 Dec 2015, Procházka Lukáš Ing. - Pontex s. r. o. wrote:
>> >
>> > \starttikzpicture
>> > %\startaxis[legend entries={Cos,Sin2,Sin},reverse legend]
>> > \cldcommand{startaxis{["legend entries"] = "{Cos,Sin2,Sin}", "reverse
>> > legend"}}
>>
>> This is not valid lua. On a lua prompt, try
> >
>> t = {["legend entries"]="{Cos,Sin2,Sin}", "reverse legend"}
You are right. Sorry for the noise.
Aditya
[-- Attachment #2: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Pgfplots - "reverse legend" by Lua
2015-12-22 17:21 ` Hans Hagen
2015-12-22 22:11 ` Aditya Mahajan
@ 2015-12-24 22:01 ` Lukáš Procházka
1 sibling, 0 replies; 5+ messages in thread
From: Lukáš Procházka @ 2015-12-24 22:01 UTC (permalink / raw)
To: mailing list for ConTeXt users
[-- Attachment #1: Type: text/plain, Size: 1126 bytes --]
Hello,
On Tue, 22 Dec 2015 18:21:01 +0100, Hans Hagen <pragma@wxs.nl> wrote:
>> t = {["legend entries"]="{Cos,Sin2,Sin}", "reverse legend"}
>
> such a table is valid lua (mixture of indexed and hashed) but of course
> the application using it has to know how to use it
OK, so when '{["legend entries"]="{Cos,Sin2,Sin}", "reverse legend"}' is a valid Lua call and, what I guess, a valid Lua-to-context call -
- why the code doesn't work?
I also tried Aditya's way II - to build the "command-string" and to pass it to context:
"
context(string.format("\\startaxis[legend entries={%s},reverse legend]", "Sin,Cos"))
"
It works, although I'd rather use "context.startaxis{...options...}" style as it looks "nicer".
Next question - why
"
context[[\startaxis]]
"
doesn't work, whilst
context"\\startaxis"
does?
(See attached files.)
Best regards,
Lukas
> Hans
--
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
[-- Attachment #2: t-Plot4.mkiv --]
[-- Type: application/octet-stream, Size: 715 bytes --]
\usemodule[pgfplots]
\starttext
\starttikzpicture
\startluacode
context"\\startaxis" -- OK
\stopluacode
\addplot+[green]{sin(deg(x))};
\stopaxis
\stoptikzpicture
\starttikzpicture
\startluacode
context(string.format("\\startaxis[legend entries={%s},reverse legend]", "Sin,Cos"))
\stopluacode
\addplot+[green]{sin(deg(x))};
\addplot+[blue]{cos(deg(x))};
\stopaxis
\stoptikzpicture
\stoptext % Uncomment here to try the code bellow
\starttikzpicture
\startluacode
context[[\startaxis]] -- Why doesn't work here?
\stopluacode
\addplot+[green]{sin(deg(x))};
\stopaxis
\stoptikzpicture
\stoptext
[-- Attachment #3: t-Plot4.pdf --]
[-- Type: application/pdf, Size: 14413 bytes --]
[-- Attachment #4: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-12-24 22:01 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-22 7:52 Pgfplots - "reverse legend" by Lua Procházka Lukáš Ing. - Pontex s. r. o.
2015-12-22 16:36 ` Aditya Mahajan
2015-12-22 17:21 ` Hans Hagen
2015-12-22 22:11 ` Aditya Mahajan
2015-12-24 22:01 ` Lukáš Procházka
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).