2016-08-03 43 views
1

是否可以在epslatex終端的gnuplot標籤中使用自定義變量和字符串? 我想要一個標籤:「t85 = 15.6」,其中「t85 =」是字符串,「15.6」是我在gnuplot腳本中設置的變量。如何在epslatex終端的gnuplot標籤中使用字符串和變量?

set terminal epslatex 
set output 'TP_MAG_5s_Decklage1.tex' 
set xlabel "time/s" 
set xrange [0:250] 
set ylabel "T/C" 
set yrange [0:1800] 
TP_MAG_5s_Decklage1.dat" 
t85_1 = system("awk '$1<800 && $1>500 { count++ } END { print count/100 }' TP_MAG_5s_Decklage1.dat") 
t85_2 = system("awk '$2<800 && $2>500 { count++ } END { print count/100 }' TP_MAG_5s_Decklage1.dat") 
set label 1 at 150,700 t85_1 
set label 2 at 150,600 t85_2 
plot 'TP_MAG_5s_Decklage1.dat' using ($0/100):1 w l title 'TC 1',\ 
    'TP_MAG_5s_Decklage1.dat' using ($0/100):2 w l title 'TC 2',\ 
     800 notitle , 500 notitle 

此代碼僅給出變量的值作爲標籤。我無法爲此標籤添加一些文字。

+0

這個錯誤通常發生在缺少關閉'$'時,或者某些文本應該處於數學模式'$ text $'而且不是。 –

+0

謝謝,我發現缺少$符號,但我想在標籤中使用Latex命令(我更改了示例代碼以顯示標記) – cps

+1

您需要使用gprintf來顯示變量名稱,並且您可以在引號,所以它會被LaTeX解釋。 –

回答

1

解決我的問題是這樣設置標籤:

set label 1 at 150,700 gprintf("$t_{8/5}$ = %.2f s",t85_1) 

這樣我就可以使用乳膠數學模式,並調用一個變量。

0

當你使用epslatex終端時,你的gnuplot腳本應該會產生兩個文件:一個.eps與圖本身,以及一個.tex與所有的標籤。所以如果你只打開.eps文件,你將看不到標籤。假設你的腳本生成plot.texplot.eps,運行以下會產生myfile.pdf文件,在那裏所有的標籤:

#!/bin/bash  

cat <<EOF> myfile.tex 
\documentclass{article} 
\usepackage{graphicx} 
\usepackage{epstopdf} 
\begin{document} 
\input{plot} 
\end{document} 
EOF 

pdflatex myfile 

希望這將解決您的問題。也看看this link