如何在 pstricks 中从 plotstyle=dots 更改符号的线宽?

如何在 pstricks 中从 plotstyle=dots 更改符号的线宽?

借助plotstyle和,dotstyle我们可以在 pstricks 中绘制散点图。如果选择plotstlye=dots和,dotstyle则为+ootimes类似,我们可以在每个数据位置绘制小符号。

我的问题:如何在不全局缩放这些符号的情况下更改它们的线宽?就我而言,我感兴趣的是创建比默认符号更粗的符号。

最小工作示例:

\documentclass\documentclass{article}
\usepackage{pstricks}
\usepackage{pst-plot}
\usepackage[final]{pst-pdf}

\begin{document}
  \begin{pspicture*}(0cm,-0.3cm)(1cm,0.3cm)  
    % some data...
    \savedata{\mydataA}[{{0.2,0}}]
    \savedata{\mydataB}[{{0.4,0}}]
    \savedata{\mydataC}[{{0.6,0}}]
    \savedata{\mydataD}[{{0.8,0}}]
    % set plotstyle and dotstyle
    \psset{plotstyle=dots, dotstyle=x} % or 'o', '+', 'otimes', ...
    % test A: simple plot -> too thin
    \dataplot{\mydataA}
    % test B: change linewidth -> only scaling, no relations are changed
    \dataplot[linewidth=3pt]{\mydataB}
    % test C: change dotscale  -> only scaling, no relations are changed
    \dataplot[dotscale=1.5]{\mydataC}
    % test D: change dotsize   -> only scaling, no relations are changed
    \dataplot[dotsize=5pt]{\mydataD}
  \end{pspicture*}
\end{document}

仅缩放,关系没有变化:

在此处输入图片描述

请注意:可以找到相同的问题这里,但没有答案……

[编辑] 可能的解决方案概述:

  • 使用粗体版本B+, Bo, B|, Btriangle,BsquareBpentagonBasterisk
  • 最通用的:定义新的点样式(见这里或下面 Herbert 的回答)。

答案1

\documentclass[pstricks]{standalone}
\usepackage{pst-plot}

\makeatletter
\@namedef{psds@z}{%
  \pst@gdot{\pst@number\pslinewidth SLW 
    -5 -5  moveto 5 5 L -5 5 moveto 5 -5 L stroke}}
\makeatother

\begin{document}
  \begin{pspicture}(0,-0.4)(2,0.4)  
    % some data...
    \savedata{\mydataA}[{0.2,0}]
    \savedata{\mydataB}[{0.7,0}]
    \savedata{\mydataC}[{1.3,0}]
    \savedata{\mydataD}[{1.8,0}]
    % set plotstyle and dotstyle
    \psset{plotstyle=dots, dotstyle=z}% z: new dotstyle 
    \dataplot{\mydataA}
    \dataplot[linewidth=2pt]{\mydataB}
    \dataplot[dotscale=1.5,linewidth=3pt]{\mydataC}
    \dataplot[linewidth=0.5pt]{\mydataD}
  \end{pspicture}
\end{document}

在此处输入图片描述

相关内容