| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- % defining the new dimensions and parameters
- \newlength{\hatchspread}
- \newlength{\hatchthickness}
- \newlength{\hatchshift}
- \newcommand{\hatchcolor}{}
- % declaring the keys in tikz
- \tikzset{hatchspread/.code={\setlength{\hatchspread}{#1}},
- hatchthickness/.code={\setlength{\hatchthickness}{#1}},
- hatchshift/.code={\setlength{\hatchshift}{#1}},% must be >= 0
- hatchcolor/.code={\renewcommand{\hatchcolor}{#1}}}
- % setting the default values
- \tikzset{hatchspread=6pt,
- hatchthickness=0.4pt,
- hatchshift=0pt,% must be >= 0
- hatchcolor=black}
- % declaring the pattern
- \pgfdeclarepatternformonly[\hatchspread,\hatchthickness,\hatchshift,\hatchcolor]% variables
- {custom north west lines}% name
- {\pgfqpoint{\dimexpr-2\hatchthickness}{\dimexpr-2\hatchthickness}}% lower left corner
- {\pgfqpoint{\dimexpr\hatchspread+2\hatchthickness}{\dimexpr\hatchspread+2\hatchthickness}}% upper right corner
- {\pgfqpoint{\dimexpr\hatchspread}{\dimexpr\hatchspread}}% tile size
- {% shape description
- \pgfsetlinewidth{\hatchthickness}
- \pgfpathmoveto{\pgfqpoint{0pt}{\dimexpr\hatchspread+\hatchshift}}
- \pgfpathlineto{\pgfqpoint{\dimexpr\hatchspread+0.15pt+\hatchshift}{-0.15pt}}
- \ifdim \hatchshift > 0pt
- \pgfpathmoveto{\pgfqpoint{0pt}{\hatchshift}}
- \pgfpathlineto{\pgfqpoint{\dimexpr0.15pt+\hatchshift}{-0.15pt}}
- \fi
- \pgfsetstrokecolor{\hatchcolor}
- % \pgfsetdash{{1pt}{1pt}}{0pt}% dashing cannot work correctly in all situation this way
- \pgfusepath{stroke}
- }
- \begin{tikzpicture}
- \begin{axis}[
- legend pos=south west,
- axis x line=middle,
- axis y line=middle,
- %grid = major,
- %width=9cm,
- %height=4.5cm,
- grid style={dashed, gray!30},
- xmin=-1, % start the diagram at this x-coordinate
- xmax= 6, % end the diagram at this x-coordinate
- ymin=-0.25, % start the diagram at this y-coordinate
- ymax= 5, % end the diagram at this y-coordinate
- axis background/.style={fill=white},
- xlabel=$X_1$,
- ylabel=$X_2$,
- %xticklabels={,,},
- %yticklabels={,,},
- %xtick={-1,0,1,2,3,4,5},
- %ytick={-1,0,1,2,3,4,5},
- ticks=none,
- %tick align=outside,
- enlargelimits=true,
- tension=0.08]
- \addplot[hatchcolor=red,mark=none, pattern=custom north west lines, draw=none] coordinates {(0.5, 0) (0.5,5) (1.5,5) (1.5,0) };
- \addplot[red,mark=none, thick] coordinates {(0.5, 0) (0.5,5)};
- \addplot[red,mark=none, thick] coordinates {(1.5, 0) (1.5,5)};
- \addplot[hatchcolor=red,mark=none, pattern=custom north west lines, draw=none] coordinates {(4.5, 0) (4.5,5) (5.5,5) (5.5,0) };
- \addplot[red,mark=none, thick] coordinates {(4.5, 0) (4.5,5)};
- \addplot[red,mark=none, thick] coordinates {(5.5, 0) (5.5,5)};
-
- \addplot[mark=none, dashed] coordinates {(1, 0) (1,3)};
- \addplot[mark=none, dashed] coordinates {(5, 0) (5,3)};
- \addplot[mark=x] coordinates {(1, 3)};
- \addplot[mark=x] coordinates {(5, 3)};
- \node at (axis cs:1,3) [anchor=north west] {$(x_1, y_1)$};
- \node at (axis cs:5,3) [anchor=north west] {$(x_2, y_2)$};
- \node at (axis cs:1,0) [anchor=north] {$x_1$};
- \node at (axis cs:5,0) [anchor=north] {$x_2$};
- \node[red] at (axis cs:1,-0.3) [anchor=north] {$U_1 \times X_2$};
- \node[red] at (axis cs:5,-0.3) [anchor=north] {$U_2 \times X_2$};
- \end{axis}
- \end{tikzpicture}
|