我已经完成了上面的图表。我在最上面的图片中做的三个标题是剩下的。1. 矩形的外边界也应该涂成蓝色或其他颜色。2. 小圆圈应该用矩阵标记。3. 矩形应该用水平线填充
下面是我所做操作的代码:
\documentclass{article} % say
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,5) node (yaxis) [above] {$y$}
|- (5,0) node (xaxis) [right] {$x$};
\draw (-0.5,0) -- (4,0);
\draw (0,-0.5) -- (0,4);
\definecolor{mycolor}{RGB}{178,181,255}
\filldraw[fill=mycolor] (0,0) rectangle (2,2);
\filldraw [cyan] (0,2) circle [radius=2pt];
\filldraw [cyan] (2,0) circle [radius=2pt];
\end{tikzpicture}
\end{document}
任何帮助,将不胜感激。
答案1
添加标签相当标准:只需添加node[...]{label}
到点即可。
使用 tikz 库在正方形中绘制线条patterns
并添加pattern=horizontal lines
到绘制命令。这将为您提供以下内容:
以下是代码:
\documentclass{article} % say
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{patterns}
\definecolor{mycolor}{RGB}{178,181,255}
\begin{document}
\begin{tikzpicture}
\draw (0,5) node (yaxis) [above] {$y$}
|- (5,0) node (xaxis) [right] {$x$};
\draw (-0.5,0) -- (4,0);
\draw (0,-0.5) -- (0,4);
\draw[preaction={fill=mycolor},
pattern=horizontal lines,
pattern color=cyan] (0,0) rectangle (2,2);
\draw[cyan, thick](0,2)--(2,2)--(2,0);
\draw[fill=cyan](0,2)circle[radius=2pt]node[left]{$\begin{bmatrix}1\\0\end{bmatrix}$};
\draw[fill=cyan](2,0)circle[radius=2pt]node[below]{$\begin{bmatrix}0\\1\end{bmatrix}$};
\end{tikzpicture}
\end{document}
一些评论。
- 在绘制图案之前,我使用了
preaction
背景/填充颜色来填充正方形 pattern color=cyan
用于设置水平线的颜色- 而不是使用
\filldraw[cyan]
我使用的“坐标点”,\draw[fill=cyan]
因为否则节点标签也会变成青色。 - 你的
x
和y
斧头可能有点长,但我没有修改过这些。 - 绘制正方形后,我绘制了正方形的青色边界,以免在轴上给正方形的边界着色。
正方形内的水平线给我的感觉有点“不连贯”。如果这让您感到困扰,那么您可以用 for 循环“手工”绘制线条,而不是使用图案。这样可以得到
现在代码如下:
\documentclass{article} % say
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{patterns}
\definecolor{mycolor}{RGB}{178,181,255}
\begin{document}
\begin{tikzpicture}
\draw (0,5) node (yaxis) [above] {$y$}
|- (5,0) node (xaxis) [right] {$x$};
\draw (-0.5,0) -- (4,0);
\draw (0,-0.5) -- (0,4);
\draw[fill=mycolor] (0,0) rectangle (2,2);
\foreach \y in {0,...,9}{
\draw[cyan,very thin](0,0.\y)--++(2,0);
\draw[cyan,very thin](0,1.\y)--++(2,0);
}
\draw[cyan, thick](0,2)--(2,2)--(2,0);
\draw[fill=cyan](0,2)circle[radius=2pt]node[left]{$\begin{bmatrix}1\\0\end{bmatrix}$};
\draw[fill=cyan](2,0)circle[radius=2pt]node[below]{$\begin{bmatrix}0\\1\end{bmatrix}$};
\end{tikzpicture}
\end{document}
这里唯一值得补充的是,因为\foreach
似乎更喜欢整数,上面的循环只是一种“欺骗” tikz 绘制高度为 0、0.1、0.2、...、1.9 和 2 的线条的方式。(我实际上有点惊讶和印象深刻,tikz/pgf 解析0.\y
正确1.\y
!)