我们可以使用 LaTeX 来制作图表$\rho = \sec(\theta)$
吗?
答案1
您可以使用pgfplots
为了达成这个:
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\usepgfplotslibrary{polar}
\begin{document}
\begin{tikzpicture}
\begin{polaraxis}
\def\FREQUENCY{3}
\addplot[red,domain=0:360,samples=360,smooth] (x,{30-8*sin(\FREQUENCY*x)});
\addplot[dashed,domain=0:2*pi] (deg(x),30);
\addplot[mark=*,only marks] coordinates {(0,0)};
\end{polaraxis}
\end{tikzpicture}
\end{document}
对于任何具有 LaTeX 经验的人来说,源代码都是不言自明的。
笔记: pgfplots
默认情况下使用度数,如果要使用弧度,则需要通过deg()
函数将其转换为度数。
并且\rho=\sec\theta
(在极轴上绘制它的函数相当丑陋):
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\usepgfplotslibrary{polar}
\begin{document}
\begin{tikzpicture}
\begin{polaraxis}
\addplot[red,domain=-42:42,samples=360,smooth] (x,{sec(x)});
\addplot[mark=*,only marks] coordinates {(0,0)};
\end{polaraxis}
\end{tikzpicture}
\end{document}
答案2
具有相应笛卡尔坐标的极坐标:
\documentclass[border=12pt,pstricks]{standalone}
\usepackage{pst-plot}
\begin{document}
\begin{pspicture}(-3.5,-3.5)(3.5,3.5)
\psaxes[axesstyle=polar,subticklinestyle=dashed,subticks=2,labelFontSize=\scriptstyle](3,0)
\psplot[polarplot,algebraic,linecolor=red,linewidth=2pt,plotpoints=500,
yMaxValue=3.5]{Pi neg}{Pi}{1/(cos(x))}
\psplot[algebraic,linecolor=blue,plotpoints=5000,yMaxValue=3.5]{Pi neg}{Pi}{1/(cos(x))}
\end{pspicture}
\end{document}
如果您想查看计算出的点数,请使用showpoints
:
\documentclass[border=12pt,pstricks]{standalone}
\usepackage{pst-plot}
\begin{document}
\begin{pspicture}(-3.5,-3.5)(3.5,3.5)
\psaxes[axesstyle=polar,subticklinestyle=dashed,subticks=2,labelFontSize=\scriptstyle](3,0)
\psplot[polarplot,algebraic,linecolor=red,linewidth=1.5pt,plotpoints=25,showpoints,
yMaxValue=3.5]{Pi neg}{Pi}{1/(cos(x))}
\end{pspicture}
\end{document}
答案3
建议使用 PSTricks 的解决方案。\rho=\sec\theta
表示线x=1
。因此正确的曲线应该如下所示。
\documentclass[border=12pt,pstricks]{standalone}
\usepackage{pst-plot}
\psset{runit=1.2cm,unit=\psrunit}
\pstVerb{/const 2 def}
\begin{document}
\begin{pspicture}(-3.5,-3.5)(3.5,3.5)
\psaxes[axesstyle=polar,subticklinestyle=dashed,subticks=2,labelFontSize=\scriptstyle](3,3)
\psplot[polarplot,algebraic=true,linecolor=red,linewidth=2pt,plotpoints=1000,yMaxValue=3.5,yMinValue=-3.5]{0}{TwoPi}{const/(cos(x))}
\end{pspicture}
\end{document}
答案4
我的包裹xpicture
绘制极坐标曲线(或更一般的参数曲线)。
例如
% Cardioide: r = 1+cos t
\SUMfunction{\ONEfunction}{\COSfunction}{\ffunction} % Define f(t)=1 + cos t
\POLARfunction{\ffunction}{\cardioide} % Declare \cardioide as r=f(\phi)
% \degreespolarlabels % Uncomment to label angles in degrees
\begin{center}
\def\runitdivisions{2} % 2 divisions of unity in the r-axis
\setlength{\unitlength}{1.5cm}
\begin{Picture}(-2.5,-2.5)(2.5,2.5)
\polargrid{2}{16} % Draw a polar grid for 0<r<2 and 16 divisions of circle
\pictcolor{blue}\linethickness{1pt}
\PlotParametricFunction[20]{\cardioide}{0}{\numberTWOPI}
% Draw \cardioide for 0<\phi<2\pi
\end{Picture}
$\rho=1+\cos\phi$
\end{center}