Path: csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Ethan A Merritt Newsgroups: comp.graphics.apps.gnuplot Subject: Re: variable in plot command and key Date: Tue, 10 Jan 2017 08:54:59 -0800 Organization: A noiseless patient Spider Lines: 73 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8Bit Injection-Date: Tue, 10 Jan 2017 16:53:27 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="992d5bb7e8b161a79c787f973efb35fa"; logging-data="13877"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX190MFpC93n4nNPPrQwt0058" User-Agent: KNode/4.14.5 Cancel-Lock: sha1:PgqdBHuWL/7DEyYCGxch+JpaA8c= Xref: csiph.com comp.graphics.apps.gnuplot:3523 Jörg Buchholz wrote: > On 10.01.2017 06:59, Ethan A Merritt wrote: >> Karl Ratzsch wrote: >> >>> Am 09.01.2017 um 17:50 schrieb Jörg Buchholz: >>>> >>>> >>>> Is there a way to use a variable as data file name and have the >>>> default key entry? >>>> >>> >>> You mean you want to see the actual file name + the actual "using" >>> specifier"? I think not, at least not directly. >>> >>> You could write the whole plot command into a string and execute it >>> with "evaluate" >>> >>> fname = "'test_1.dat'" >>> eval "plot ".fname." us 1:2" >> >> Or slightly simpler: >> >> foo = "'test_1.dat'" >> plot @foo using 1:2 >> >> To suppress interpretation of underscores in the plot key >> >> set key noenhanced >> >> I don't think there is currently a way to maintain enhanced text >> markup in the key titles while not having it replace underscores in >> file names. > > Thanks for the answers. I give a simplified example to you, and now I > see I have oversimplified it. In your suggestions you give the > filename as a fix string, but in real it is build from some other > variables. > > At the moment this is my solution: > > GR='1' #Group > SEM='ws1617' #Semester > MED1='Erbsen' #Medium 1 > MED2='Reis' #Medium 2 > RPout='../'.SEM.'/G'.GR.'_sieben-test.pdf' #output file > RPdata1='../'.SEM.'/G'.GR.'_'.MED1.'.dat' #data file 1 > RPdata1t="'../".SEM.'/G'.GR.'\_'.MED1.".dat'" #title data file 1 > RPdata2='../'.SEM.'/G'.GR.'_'.MED2.'.dat' #data file 2 > RPdata2t="'../".SEM.'/G'.GR.'\_'.MED2.".dat'" #title data file 2 > ... > plot RPdata1 u 1:7:(3000) w l lt 1 dt 1 smooth acsplines t 'D[%]',\ > '' u 1:6:(3000) w l lt 2 dt 2 lc 1 smooth acsplines t 'R[%]',\ > '' u 1:7 w p pt 4 lc 1 t RPdata1t.' u 1:7',\ > '' u 1:6 w p pt 6 lc 1 t RPdata1t.' u 1:6' > > Jörg The solution using macros should still work in your more complicated case. The only extra requirement is that you wrap the entire constructed file name in an additional set of quotation marks. Like this: quote = '"' RPdata2='../'.SEM.'/G'.GR.'_'.MED2.'.dat' # data file 2 RPdata2q = quote . RPdata2 . quote # wrap it in extra quotes plot ... @RPdata2q using 1:6, '' using 1:7, ... Ethan