此代码:
\begin{tikzpicture}[scale=2.0]
\draw[fill=red,draw=none] (0,0) -- (0.3,0) -- (0.3,0.28);
\draw[fill=green,draw=none] (0.3,0) -- (1.0,0) -- (1.0,0.28) -- (0.3,0.28);
\draw[fill=blue,draw=none] (0.3,0.28) -- (0.65, 0.7) -- (0.65,0.28);
\draw[fill=yellow,draw=none] (0.65,0.28) -- (0.65, 0.7)-- (1.0, 1.0) -- (1.0,0.28);
\end{tikzpicture}
生成以下图像:
我现在想为这幅图像添加从 0 到 1 的 x 轴和 y 轴。我想要的是类似这样的效果(请忽略图像的右侧部分):
实现这一目标的最简单的方法是什么?
答案1
和pgfplots
添加轴:
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis equal image]
\fill[red] (0.00,0.00) -- (0.30,0.0) -- (0.30,0.28);
\fill[green] (0.30,0.00) -- (1.00,0.0) -- (1.00,0.28) -- (0.3,0.28);
\fill[blue] (0.30,0.28) -- (0.65,0.7) -- (0.65,0.28);
\fill[yellow] (0.65,0.28) -- (0.65,0.7) -- (1.00,1.00) -- (1.0,0.28);
\addplot[domain=0:1,draw=none] {x};
\end{axis}
\end{tikzpicture}
\end{document}
我还简化了你的 TikZ 代码:\draw[fill=<color>,draw=none]
相当于\fill[<color>]
。
\addplot
需要虚拟器才能pgfplots
获得正确的轴范围并且不会丢弃\fill
命令。
关键axis equal image
是确保轴单位向量具有相同的长度。可以进行许多进一步的自定义,您可以查阅pgfplots
手动的了解更多详细信息,如果您遇到麻烦,请在这里询问具体问题。:-)