我正在使用 TikZ 制作史密斯圆图。目前,我正在将其编写为将所有内容缩放到单位圆(以 0,0 为中心,半径为 1),没有单位。然后缩放使其成为一个合理大小的图形。
我遇到的问题是,当为某些部分绘制一些次要网格线时,特别是当你靠近 x 轴时,我绘制的圆的半径变得比 TikZ 中可能的半径大得多。
例如,Dimension too large
由于1/\x
位置和半径的术语,这会因错误而停止:
\foreach \x in {0.01, 0.02, ..., 0.2} {
\draw (1, {1/\x}) circle ({1/\x});
}
没有半径太大的圆的图像:
我的想法是,与其绘制单个圆圈,不如绘制极坐标网格,这样可以避免绘制半径过大的圆圈。但是,我找不到有关如何做到这一点的任何信息。
是否有用于绘制极坐标网格的软件包或解决方法?
答案1
您可以为此使用 PGFplots(版本 1.5)。它可以绘制极坐标轴,具有非常灵活的自定义可能性:
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{polar}
\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[
width=40cm,
xmin=160,xmax=200,
ymin=2,ymax=3,
yticklabels={},
xtick={160,165,...,200},
xticklabels={160,165,...,180,-175,-170,...,-160},
minor tick num=4,
grid=both,
minor grid style=black!25,
major grid style={black!75,thick}]
\addplot coordinates {(0,1) (90,1)
(180,1) (270,1)};
\end{polaraxis}
\end{tikzpicture}
\end{document}
答案2
pgfplots 1.5 版包含一个 Smith 图库。这是手册中的一个示例
\documentclass{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{smithchart}
\begin{document}
\begin{tikzpicture}[scale=0.75]
\begin{smithchart}[
title=Huge Smith Chart (rescaled),
width=20cm]
\addplot coordinates {(0.5,0.2) (1,0.8) (2,2)};
\end{smithchart}
\end{tikzpicture}
\end{document}