pst 图不显示负指数

pst 图不显示负指数

我正在尝试绘制一个分段函数,其中一个分量使用负指数。但是,pst-plots 似乎无法理解负指数。我尝试过用几种不同的方式表达它,但它要么什么都不显示,要么绘制出线性的东西。

\documentclass{article}
\usepackage{pst-plot}

\psset
{
xunit=.8cm,
yunit=1cm,
}

\def\L{-.2}
\def\R{5}
\def\B{-0.2}
\def\T{3.2}

\def\dL{2pt}
\def\dR{12pt}
\def\dB{2pt}
\def\dT{18pt}

\begin{document}

\begin{figure}[ht]
\centering
\begin{pspicture}[showgrid=false]
(\dimexpr\L\psxunit-\dL\relax,\dimexpr\B\psyunit-\dB\relax)
(\dimexpr\R\psxunit+\dR\relax,\dimexpr\T\psyunit+\dT\relax)
\psaxes[linecolor=lightgray]{->}(0,0)(\L,\B)(\R,\T)[$x$,0][$f(x)$,90]
\psset{algebraic,linewidth=1.5pt,linecolor=red,plotpoints=2}
\psplot[arrows=-*]{\L}{1}{0}
\psplot[arrows=o-]{1}{\R}{3x^(-4)}
\end{pspicture}
\end{figure}

\end{document}

我愿意尝试其他绘图方法,但是我更喜欢 pst-plots 的外观而不是其他包。

编辑:

我正在尝试绘制 f(x) = 3*x^{-4} 在 (1,\infty) 上的图形

答案1

使用选项plotpoints=2,您可以希望只有一行。默认值为 50!我建议您plotstyle=curve改为设置,当然还要添加*已经指出的选项。该showgrid=false选项是无用的,因为它是默认值。您可以通过将pdf选项添加到文档类来编译:它将被传递给pstricks将要启动的类epstopdf(前提是--shell-escape启用了该选项),并且生成的 .pdf 图像将被裁剪。

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

\psset
{
xunit=.8cm,
yunit=1cm,
}

\def\L{-.2}
\def\R{5}
\def\B{-0.2}
\def\T{3.2}

\def\dL{2pt}
\def\dR{12pt}
\def\dB{2pt}
\def\dT{18pt}

\begin{document}

\begin{figure}[!ht]
\centering
\begin{pspicture}[showgrid=false]
(\dimexpr\L\psxunit-\dL\relax,\dimexpr\B\psyunit-\dB\relax)
(\dimexpr\R\psxunit+\dR\relax,\dimexpr\T\psyunit+\dT\relax)
\psaxes[linecolor=lightgray]{->}(0,0)(\L,\B)(\R,\T)[$x$,0][$f(x)$,90]
\psset{algebraic,linewidth=1.5pt,linecolor=red,plotstyle = curve}
\psplot[arrows=-*]{\L}{1}{0}
\psplot[arrows=o-]{1}{\R}{3*x^(-4)}
\end{pspicture}
\end{figure}

\end{document}

在此处输入图片描述

答案2

您的职责是3*x^(-x)。您忘记了*

\documentclass{article}
\usepackage{pst-plot}
\psset{xunit=.8cm,yunit=1cm}

\def\f(x){3*x^(-4)}
\begin{document}

\begin{pspicture}(-0.5,-0.5)(6,3.5)
\psaxes[linecolor=lightgray]{->}(0,0)(-0.2,-0.2)(5.5,3.2)[$x$,0][$f(x)$,90]
\psset{algebraic,linewidth=1.5pt,linecolor=red}
\psplot[arrows=*-,plotpoints=100]{1}{5}{3*x^(-4)}
\psplot[arrows=-o,plotpoints=2]{-0.2}{1}{0}
\end{pspicture}

\end{document}

在此处输入图片描述

答案3

这只是我的另一个新模板。

\documentclass[pstricks,border=0bp,12pt,dvipsnames]{standalone}
\usepackage{pst-plot}
\usepackage[nomessages]{fp}

\FPset\XMin{-1}
\FPset\XMax{4}
\FPset\YMin{0}
\FPset\YMax{3}

\FPset\DeltaX{1}
\FPset\DeltaY{1}

\FPeval\Left{XMin-DeltaX/2}
\FPeval\Right{XMax+DeltaX/2}
\FPeval\Bottom{YMin-DeltaY/4}
\FPeval\Top{YMax+DeltaY/4}

\newlength\Width\Width=10cm
\newlength\Height\Height=6cm

\newlength\urx\urx=15pt
\newlength\ury\ury=15pt
\newlength\llx\llx=-5pt
\newlength\lly\lly=-5pt



\psset
{
    algebraic,
    urx=\urx,
    ury=\ury,
    llx=\llx,
    lly=\lly,
    plotpoints=80,
    xAxisLabel=$x$,
    yAxisLabel=$y$,
    tickcolor=gray,
    ticksize=0 -4pt,
    labelFontSize=\scriptstyle,
}



\def\f{0}
\def\g{1}
\def\h{3/x^4}

\usepackage{amsmath}
\begin{document}

\begin{psgraph}[dx=\DeltaX,dy=\DeltaY,linecolor=gray]{->}(0,0)(\Left,\Bottom)(\Right,\Top){\dimexpr\Width-\urx+\llx}{\dimexpr\Height-\ury+\lly}
    \psset{linecolor=NavyBlue,linewidth=2\pslinewidth}
    \psplot[arrows=-o]{\XMin}{1}{\f}
    \psplot[arrows=*-*]{1}{1}{\g}
    \psplot[arrows=o-]{1}{\XMax}{\h}
    \rput[tr](\Right,\Top){$f(x)=\begin{cases}0 &;\, x<1\\ 1 &;\, x=1\\ 3/x^4 &;\, x>1\end{cases}$}
\end{psgraph}

\end{document}

在此处输入图片描述

笔记

不幸的是,箭头-o或是o-一个函数plotpoints。对于任何值,结果都不能保证是正确的plotponts。换句话说,更高的值plotpoints并不能保证你会得到正确的箭头。

相关内容