我想绘制一个这样的坐标系:
我想指定坐标系的宽度和高度以及原点的起始位置(左上角)。我还想用箭头指定 x 轴和 y 轴。此外,x 轴和 y 轴的末端应使用文本“200px”表示。
我是 LaTeX 初学者,不知道该怎么做。
有人可以推荐一个乳胶包吗?
答案1
TikZ 包很棒!我做了以下事情:
\documentclass{article}
\usepackage{tikz}
\begin{document}
% TikZ picture with origin upper left
\begin{tikzpicture}[yscale=-1]
% 4x4 grid
\draw (0, 0) grid (4, 4);
% origin point
\draw [color=blue, fill=blue] (0, 0) circle (0.1);
% x-axis
\draw [thick,->] (0, 0) -- (4.5, 0);
% y-axis
\draw [thick,->] (0, 0) -- (0, 4.5);
% origin label
\node at (-0.1, -0.5) {(0, 0)};
% x-axis label
\node at (4.5, -0.5) {200px};
% y-axis label
\node at (0, 5) {200px};
\end{tikzpicture}
\end{document}
输出:
很有帮助: TikZ 简介
答案2
Tikz 或 pstricks 功能更强大,但 LaTeX 具有内置坐标绘图系统,因此您确实不需要为此加载外部包(尽管我加载了颜色)
\documentclass{article}
\usepackage{color}
\begin{document}
\setlength\unitlength{10pt}
\begin{picture}(20,10)(0,-10)
\thicklines
\put(0,0){\line(1,0){20}}
\put(0,0){\line(0,-1){10}}
\put(0,-10){\line(1,0){20}}
\put(20,0){\line(0,-1){10}}
\put(0,0){\circle*{.3}}
\put(0,0){\vector(1,0){4}}
\put(0,0){\vector(0,-1){4}}
\thinlines
\put(0,0){\makebox(0,0)[tl]{\tiny(0,0)}}
\put(4,0){\makebox(0,0)[cb]{\tiny x}}
\put(0,-4){\makebox(0,0)[cr]{\tiny y`}}
\color[rgb]{.8,.8,.8}
\multiput(1,0)(1,0){19}{\line(0,-1){10}}
\multiput(0,-1)(0,-1){9}{\line(1,0){20}}
\end{picture}%
\end{document}
答案3
使用 PSTricks。
\documentclass[pstricks,border=18pt]{standalone}
\usepackage{pst-plot}
\addtopsstyle{gridstyle}{gridlabels=0pt,griddots=0}
\begin{document}
\begin{pspicture}[showgrid](5,-5)
\psaxes[labels=none,ticks=none]{->}(0,0)(5,-5)[200px,90][200px,-90]
\pscircle*(0,0){2pt}
\uput[90](0,0){$(0,0)$}
\end{pspicture}
\end{document}
也可以使用 PSTricks 创建非正交坐标系,如下所示。这里,OI
和分别是与和轴OJ
平行的单位向量。x
y
\documentclass[pstricks,border=18pt]{standalone}
\usepackage{pst-eucl}
\addtopsstyle{gridstyle}{gridlabels=0pt}
\begin{document}
\begin{pspicture}[showgrid](5,-5)
\pstGeonode[PosAngle={135,45,180}]
(0,0){O}
(1;-15){I}
(1;-75){J}
\pstOIJGeonode[PointName=none,PointSymbol=none](5,0){I'}{O}{I}{J}(0,5){J'}
\pstOIJGeonode[PosAngle={-45,45},PointName={{R(4,2)},{A(4,0)},{B(0,2)}},PointNameSep=2em](4,2){R}{O}{I}{J}(4,0){A}(0,2){B}
\psline[linecolor=cyan]{->}(O)(I')
\psline[linecolor=cyan]{->}(O)(J')
\uput[-15](I'){$x$}
\uput[-75](J'){$y$}
\psline[linecolor=orange](A)(R)(B)
\end{pspicture}
\end{document}
它可能在 TikZ 或其他系统中不可用。
警告
的语法\pstOIJGeonode
有点不常见,如下所示。
\pstOIJGeonode(x1,x2){A1}{O}{I}{J}(x2,y2){A2}...(xn,yn){An}
第一个点A1
必须紧跟在后面,\pstOIJGeonode
但其余的点A2
,...,An
必须紧跟在后面{O}{I}{J}
。我不知道作者为什么要使用这种奇怪的语法。