リストからのpstricksプロットラベルは1つの変数に対してのみ機能します。2つにすると機能しなくなります。

リストからのpstricksプロットラベルは1つの変数に対してのみ機能します。2つにすると機能しなくなります。

動作するコードは次のとおりです:

\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 が展開されます。

ここに画像の説明を入力してください

関連情報