• plot for [i = 'list of numbers']

    From =?UTF-8?Q?J=c3=b6rg_Buchholz?=@21:1/5 to All on Tue Jul 13 14:11:01 2021
    Hello,

    I have a dataset with 10 columns. First I will plot most of them and I use:

    plot for [i = 3:10] 'file' skip 6 u 2:i w l t sprintf("T_%i",i-2)

    in a second plot I will plot only column 6,8 and 9. Is there a way to
    use a list of numeric or only a list of strings.

    Plot for [i = 6, 8, 9] 'file' skip 6 u 2:i w l t sprintf("T_%i",i-2)

    or

    list = "6 8 9"
    plot for [i in list] 'file' skip 6 u 2:i w l t sprintf("T_%i",i-2)

    Does not work. A solution that works is the following, but it is little
    more work.

    plot for [i = 6:8:2] 'file' skip 6 u 2:i w l t sprintf("T_%i",i-2),\
    for [i = 9:9] '' skip 6 u 2:i w l t sprintf("T_%i",i-2)




    Jörg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Hans-Bernhard_Br=c3=b6ker@21:1/5 to All on Tue Jul 13 14:37:24 2021
    Am 13.07.2021 um 14:11 schrieb Jörg Buchholz:

    list = "6 8 9"
    plot for [i in list] 'file' skip 6 u 2:i w l t sprintf("T_%i",i-2)

    Close, but no cigar. The string-based list does not work like that
    because its elements evaluated by the for loop are still strings.

    The following would have worked, though:


    plot for [i in "6 8 9"] 'file' u 2:int(i)

    The following may be more useful. See "help arrays" to understand what
    it does:

    n = 3
    array list[n] = [6, 8, 9]
    plot for [i in 1:n] 'file' u 2:list[i]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?J=c3=b6rg_Buchholz?=@21:1/5 to All on Wed Jul 14 07:07:07 2021
    On 13.07.2021 14:37, Hans-Bernhard Bröker wrote:
    Am 13.07.2021 um 14:11 schrieb Jörg Buchholz:

    list = "6 8 9"
    plot for [i in list] 'file' skip 6 u 2:i w l t sprintf("T_%i",i-2)

    Close, but no cigar.  The string-based list does not work like that
    because its elements evaluated by the for loop are still strings.

    The following would have worked, though:


        plot for [i in "6 8 9"] 'file' u 2:int(i)

    The following may be more useful.  See "help arrays" to understand what
    it does:

        n = 3
        array list[n] = [6, 8, 9]
        plot for [i in 1:n] 'file' u 2:list[i]


    Thanks a lot. At the moment I prefer your first solution, cause I
    understood it "out of the box".

    Jörg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)