그림에 텍스트와 보다 정확한 지그재그 선을 추가하는 방법은 무엇입니까?

그림에 텍스트와 보다 정확한 지그재그 선을 추가하는 방법은 무엇입니까?

나는 이제 이 그림을 만드는 데 몇 시간을 소비했습니다. 운이 없었습니다.

tikz나는 다양한 유형의 , pstricks패키지 를 사용해 보았습니다 multido.

가장 큰 문제는 텍스트를 추가하고, 더 정확한 지그재그 선을 추가하고, 두 개의 점선을 추가하는 것입니다.

여기에 이미지 설명을 입력하세요

내 코드는 다음과 같습니다

\documentclass{article}
\usepackage{MinionPro}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[thick,-] (0,0) -- (4.5,0);
\draw[thick,-] (0,0) -- (0,4.5);
\draw[thick,-] (0,0) -- (-4.5,0);
\draw[thick,-] (0,0) -- (0,-4.5);
\draw (0,0) .. controls (0,2) and (2,2) .. (4,2);
\draw (-4,-3) .. controls (-2,-3) and (0,-2) .. (0,0);
\end{tikzpicture}
\end{document}

나는 이 수치를 얻습니다. 여기에 이미지 설명을 입력하세요

답변1

Tikz를 사용한 간단한 솔루션은 다음과 같습니다. 플롯으로 할 수도 있지만 이렇게 하는 것이 더 쉽다고 생각합니다.

"플롯" 곡선은 명령을 사용하여 그린 간단한 모서리입니다
\draw (-4.5,-3) edge[out=0,in=180,looseness=1.5] (4.5,3);.

보시다시피 시작점과 끝점은 대칭입니다. 가장자리 내부의 제어 옵션은 가장자리가 나오는 위치(0도)와 들어가는 위치(180도)를 지정합니다. 느슨함은 곡률을 제어합니다. 1은 기본값이고 0은 직선이며, 숫자를 늘릴수록 더욱 강조됩니다.

그림 1

\documentclass[margin=10pt]{standalone}
\usepackage{tikz}

\tikzset{
    nodeax/.style={
        text centered,
        text width=2.5cm
    },
    every path/.style={
            thick
        }
}

\begin{document}    
\begin{tikzpicture}

%X and Y axis and relative nodes
\draw (-4.5,0) node[nodeax,left] {Expectations failed} -- (4.5,0)  node[nodeax,right] {Expectations exceeded}; % X Axis
\draw (0,-4.5) node[nodeax,below] {Dissatisfied} -- (0,4.5) node[nodeax,above] {Confirmation satisfied}; % Y Axis

% "plot"
\draw (-4.5,-3) edge[out=0,in=180,looseness=1.5] (4.5,3);

% dashed lines and relative nodes
\draw[dashed] (-1,-4.5) -- (-1,4.5) node[left, anchor=east, xshift=-1em] {Discomfirmation};
\draw[dashed] (1,-4.5) -- (1,4.5) 
    node[right, anchor=west, xshift=1em] {Affirmation} 
    node[nodeax,pos=0.3,left, xshift=-8em] {(Difference between perfomance and expectations)};
\end{tikzpicture}   
\end{document}

그건 그렇고, 점선이 dashed경로 옵션에 추가되었지만 더 많은 것이 있습니다.

가장자리 그림

\documentclass[margin=10pt]{standalone}
\usepackage{tikz}

\begin{document}        
\begin{tikzpicture}[
    y=.5cm,
    every node/.style=midway, above, font=\scriptsize
    ]

\draw[densely dashdotted] (0,9) -- (5,9) node {densely dashdotted};
\draw[densely dotted] (0,8) -- (5,8) node {densely dotted};
\draw[densely dashed] (0,7) -- (5,7) node {densely dashed};

\draw[loosely dashdotted] (0,6) -- (5,6) node {loosely dashdotted};
\draw[loosely dotted] (0,5) -- (5,5) node {loosely dotted};
\draw[loosely dashed] (0,4) -- (5,4) node {loosely dashed};

\draw[dashdotted] (0,3) -- (5,3) node {dashdotted};
\draw[dotted] (0,2) -- (5,2) node {dotted};
\draw[dashed] (0,1) -- (5,1) node {dashed};
\draw (0,0) -- (5,0) node {normal};

\end{tikzpicture}
\end{document}

답변2

MetaPost를 완료했습니다. 연산자 덕분에 점선이 그려집니다 dashed.

for k = u, -u: draw (k, ymin) -- (k, ymax) dashed evenly; endfor

보다메타포스트 매뉴얼, p. 대시 패턴을 마음대로 개인화하는 방법을 알아보세요.

곡선은 다음과 같은 간단한 선으로 그려집니다.

draw A{right} .. origin{dir 80} .. B{right};

중괄호 사이의 명령은 각도( 도 단위)로 지정되는 접선 방향을 나타냅니다( right는 의 별칭입니다 dir 0).

참고hobby패키지는 tikz베지어 곡선 구성을 위해 MetaPost와 유사한 기능을 제공합니다.

input latexmp; setupLaTeXMP(mode=rerun, textextlabel=enable);
numeric u, xmin, xmax, ymin, ymax; 
u = cm; xmax = -xmin = ymax = -ymin = 4.5u;
pair A, B; A = (xmin, -3u); B = (xmax, 2u);
beginfig(1);
  draw (xmin, 0) -- (xmax, 0);
  draw (0, ymin) -- (0, ymax);
  for k = u, -u: draw (k, ymin) -- (k, ymax) dashed evenly; endfor
  draw A{right} .. origin{dir 80} .. B{right};
  label.lft("\begin{tabular}{c}Expectations\\ failed \end{tabular}", (xmin, 0));
  label.rt("\begin{tabular}{c}Expectations\\ exceeded \end{tabular}", (xmax, 0));
  label.bot("Dissatisfied", (0, ymin));
  label.top("\begin{tabular}{c}\textbf{Confirmation}\\Satisfied\end{tabular}", (0, ymax));
  label.top("\textbf{Disconfirmation}", (.4[xmin,-u], ymax));
  label.top("\textbf{Affirmation}", (.5[u,xmax], ymax));
  label.lft("\begin{tabular}{c}Difference between\\Performance and\\Expectations\end{tabular}", (.5[xmin, u], .3ymin));
endfig;
end.

산출:

여기에 이미지 설명을 입력하세요

관련 정보