ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* 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).