绘制 xy 平面,用四种不同的颜色标记四个象限

绘制 xy 平面,用四种不同的颜色标记四个象限

我正在尝试在 Latex/Tikz 中绘制彩色图表,需要一些帮助。我想绘制通常的 xy 平面,其中轴用黑色标记,四个象限用四种不同的颜色标记。我该怎么做?`

\documentclass[tikz,border=2mm]{standalone}

\begin{document}
\begin{tikzpicture}
%\draw[help lines, color=gray!30] (-4.9,-4.9) grid ;
\draw[->,thick] (-1.5,0)--(1.5,0) node[right]{$X$};
\draw[->, thick] (0,-1.5)--(0,1.5) node[above]{$Y$};
\end{tikzpicture}
\end{document}

如您所见,目前只有一个基本的 xy 轴。我想添加颜色,但我不知道该怎么做。

答案1

以下是使用的一种方式\filldraw

在此处输入图片描述

我确信其他人会有更好的解决方案,但仍然。\yMax是一个值,以便您可以更改矩形颜色传播的距离(\yMax值为 1.4 时刚好到达箭头指向)。

\documentclass[tikz,border=2mm]{standalone}

\begin{document}

\newcommand\yMax{1.5}

\begin{tikzpicture}
%\draw[help lines, color=gray!30] (-4.9,-4.9) grid ;
\filldraw[red] (0.02,0.02) rectangle (\yMax,\yMax);
\filldraw[yellow] (-0.02,-0.02) rectangle (-\yMax,-\yMax);
\filldraw[blue] (-0.02,0.02) rectangle (-\yMax,\yMax);
\filldraw[green] (0.02,-0.02) rectangle (\yMax,-\yMax);

\draw[->,thick] (-1.5,0)--(1.5,0) node[right]{$X$};
\draw[->, thick] (0,-1.5)--(0,1.5) node[above]{$Y$};
\end{tikzpicture}
\end{document}

如果要更改 X 和 Y 标签的位置,请使用yshift,xshift参数node

在此处输入图片描述

\documentclass[tikz,border=2mm]{standalone}

\begin{document}

\newcommand\yMax{1.5}

\begin{tikzpicture}
%\draw[help lines, color=gray!30] (-4.9,-4.9) grid ;
\filldraw[red] (0.02,0.02) rectangle (\yMax,\yMax);
\filldraw[yellow] (-0.02,-0.02) rectangle (-\yMax,-\yMax);
\filldraw[blue] (-0.02,0.02) rectangle (-\yMax,\yMax);
\filldraw[green] (0.02,-0.02) rectangle (\yMax,-\yMax);

\draw[->,thick] (-1.5,0)--(1.5,0) node[above,xshift=-0.2cm]{$X$};
\draw[->, thick] (0,-1.5)--(0,1.5) node[right,yshift=-0.2cm]{$Y$};
\end{tikzpicture}
\end{document}

答案2

一些可以开始的事情。

\documentclass[tikz,border=2mm]{standalone}

\begin{document}
    \begin{tikzpicture}
        %\draw[help lines, color=gray!30] (-4.9,-4.9) grid ;
        \draw[->,thick] (-1.5,0)--(1.5,0) node[right]{$X$};
        \draw[->, thick] (0,-1.5)--(0,1.5) node[above]{$Y$};
        
        \begin{scope}[x=1.5 cm, y=1.5 cm, opacity=0.5]
            \fill[violet] (0,0) rectangle (1,1);
            \fill[blue] (0,0) rectangle (-1,1);
            \fill[green] (0,0) rectangle (-1,-1);
            \fill[orange] (0,0) rectangle (1,-1);
        \end{scope}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

答案3

另一个方法是,循环添加所有象限\foreach

\documentclass[tikz,border=2mm]{standalone}

\begin{document}
\begin{tikzpicture}
\foreach[count=\ii from 0]\i in {blue,red,green,yellow}
  \fill[\i!20,rotate=90*\ii] (0,0) rectangle (1.5,1.5);
\draw[->,thick] (-1.5,0) -- (1.5,0) node[right]{$X$};
\draw[->,thick] (0,-1.5) -- (0,1.5) node[above]{$Y$};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案4

像这样:

在此处输入图片描述

最小简单代码:

\documentclass{article}
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}
        \fill[green] (-2,-2) rectangle (0,0);
        \fill[yellow] (0,-2) rectangle (2,0);
        \fill[red] (0,0) rectangle (2,2);
        \fill[cyan] (-2,0) rectangle (0,2);
        \draw[-latex] (-2,0)--(2.2,0) node[right] () {$x$};
        \draw[-latex] (0,-2)--(0,2.2) node[right] () {$y$};
    \end{tikzpicture}
\end{document}

相关内容