• #### 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)