列表中的 pstricks 图标签仅适用于一个变量,如果放入两个变量,则不再起作用

列表中的 pstricks 图标签仅适用于一个变量,如果放入两个变量,则不再起作用

这是有效的代码:

\RequirePackage{filecontents}
\begin{filecontents*}{data1}
1679117400 112.46
1679118300 112.42
1679119200 217.70
1679120100 217.70
1679121000 217.70
1679121900 217.70
1679122800 228.70
1679123700 228.70
1679124600 227.70
\end{filecontents*}

\begin{filecontents*}{param}
15
10
480
1679117400
1679124600
00:01:00,00:00:02,00:00:04
\end{filecontents*}
%


\documentclass[a4paper,12pt]{article}
\usepackage{pst-all}
\usepackage{readarray}

%chargement des paramètres
\readarraysepchar{\\}
\readdef{param}\myrawdata %param est le nom du fichier avec les
                          %paramètres 
\setsepchar{\\/,}

\begin{document}
\thispagestyle{empty}

\readlist*{\mydata}{\myrawdata}

%assignation des paramètres
\def\largeur{\mydata[1,1]}
\def\hauteur{\mydata[2,1]}
\def\Dx{\mydata[3,1]}
\def\dateDebut{\mydata[4,1]}
\def\labelXa{\mydata[6,1]}
\def\labelXb{\mydata[6,2]}

\begin{center}
  labelXa=\labelXa
  labelXb=\labelXb
\end{center}

\psset{xLabels={\labelXa,C,d,E}}

\readdata{\data}{data1}

\psset{xAxisLabel=,yAxisLabel=,
llx=-5mm,urx=1cm,lly=-5mm,
mathLabel=false,xlabelsep=-5pt,
axesstyle=frame,xticksize=0 7.59,yticksize=0
25,subticks=0} 

\pstScalePoints(0.00111111,0.03){ 1679117400 sub }{ 100 sub }
\psgraph[labels=y,Dx=1,dx=1,Dy=10,dy=0.3,Oy=100]{->}(0,0)(8,4){16cm}{8cm}
  \listplot[showpoints,dotstyle=triangle,linecolor=red,linewidth=1pt]{\data}
\endpsgraph

\end{document}

但如果我在这里添加标签:\psset{xLabels={\labelXa,\labelXb,C,d,E}},此代码将不再起作用。谢谢帮助!

\RequirePackage{filecontents}
\begin{filecontents*}{data1}
1679117400 112.46
1679118300 112.42
1679119200 217.70
1679120100 217.70
1679121000 217.70
1679121900 217.70
1679122800 228.70
1679123700 228.70
1679124600 227.70
\end{filecontents*}

\begin{filecontents*}{param}
15
10
480
1679117400
1679124600
00:01:00,00:00:02,00:00:04
\end{filecontents*}
%


\documentclass[a4paper,12pt]{article}
\usepackage{pst-all}
\usepackage{readarray}

%chargement des paramètres
\readarraysepchar{\\}
\readdef{param}\myrawdata %param est le nom du fichier avec les
                          %paramètres 
\setsepchar{\\/,}

\begin{document}
\thispagestyle{empty}

\readlist*{\mydata}{\myrawdata}

%assignation des paramètres
\def\largeur{\mydata[1,1]}
\def\hauteur{\mydata[2,1]}
\def\Dx{\mydata[3,1]}
\def\dateDebut{\mydata[4,1]}
\def\labelXa{\mydata[6,1]}
\def\labelXb{\mydata[6,2]}

\begin{center}
  labelXa=\labelXa
  labelXb=\labelXb
\end{center}

\psset{xLabels={\labelXa,\labelXb,C,d,E}}

\readdata{\data}{data1}

\psset{xAxisLabel=,yAxisLabel=,
llx=-5mm,urx=1cm,lly=-5mm,
mathLabel=false,xlabelsep=-5pt,
axesstyle=frame,xticksize=0 7.59,yticksize=0
25,subticks=0} 

\pstScalePoints(0.00111111,0.03){ 1679117400 sub }{ 100 sub }
\psgraph[labels=y,Dx=1,dx=1,Dy=10,dy=0.3,Oy=100]{->}(0,0)(8,4){16cm}{8cm}
  \listplot[showpoints,dotstyle=triangle,linecolor=red,linewidth=1pt]{\data}
\endpsgraph

\end{document}

答案1

使用

%\psset{xLabels={\labelXa,\labelXb,C,d,E}}
\makeatletter
\edef\psk@xLabels{\labelXa,\labelXb,C,d,E}
\makeatother

然后扩展标签 Xa 和 Xb。

在此处输入图片描述

相关内容