
tikz
다음 이미지를 다시 만드는 데 사용하고 있습니다.
제가 하려는 작업은 "확장"되고 "부드러운" 사다리꼴 모양을 그리는 것입니다. 내 코드는
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
%axes
\draw[very thick] (0,0)--(8,0);
\draw[very thick] (0,0)--(0,5) coordinate (y);
\draw (8,0) node[below] {\eng{Energy}};
\node [draw=none,rotate=90, yshift=0.3cm] at (0,5) {\eng{Counts}};
%1st peak
\draw[thick,blue] (7.3,0)--(7,3)--(5,4)--(4.7,0);
\draw[blue,dashed] (7,0)--(7,3);
\draw[blue,dashed] (5,4)--(5,0);
\draw[blue] (7,3) node[above,right] {$4$};
\draw[blue] (5,4) node[above,left] {$3$};
\draw[blue] (6,4.5) node[above] {$\delta E$};
%2nd peak
\draw[thick,red] (3.3,0) -- (3,2.5) -- (1,3.5) -- (0.7,0);
\draw[red,dashed] (3,0)--(3,2.5);
\draw[red,dashed] (1,0)--(1,3.5);
\draw[red] (3,2.5) node[above,right] {$1$};
\draw[red] (1,3.5) node[above,left] {$2$};
\draw[red] (2,4.5) node[above] {$\delta E$};
\end{tikzpicture}
\end{document}
내 출력은
제가 하고 싶은 것은 각도 1,2,3,4를 더 부드럽게 만드는 것입니다. 또한 작은 꼬리(x축에 닿는 빨간색과 파란색 선)를 갖는 것처럼 좀 더 매끄럽게 만들고 싶습니다. 이를 어떻게 달성할 수 있나요?
답변1
"두 개의 수직선을 x축 선에 연장한다"는 것이 무슨 뜻인지 잘 모르겠지만 적어도 베지어 곡선을 사용하면 부드러운 선을 그릴 수 있습니다.
직선에서는 (a) -- (b)
(여러 개의) 제어점 x를 추가하여 부드러운 곡선을 만들 수 있습니다.(a) .. controls (x) .. (b)
(에서 가져옴여기)
편집: 질문을 편집해 주셔서 감사합니다 :) 그러면 답변을 수정하겠습니다...
실제로 플로팅에는 "부드러운" 수정자가 있습니다. 또한 끝과 시작 부분에 다른 좌표를 추가하고 인접 좌표의 y 값을 늘렸습니다.
\draw[thick, green] plot [smooth] coordinates {(3.5,0) (3.3,0.5) (3,2.5) (1,3.5) (0.7,0.5) (0.5,0)};
비교를 위해 Harish Kumar(둘 다 녹색으로 겹쳐짐)의 답변과 x축을 따라 평활화를 달성하기 위한 두 개의 추가 노드가 있습니다.
\draw[thick,green, rounded corners=4mm ] (7.7,0) -- (7.3,0)--(7,3)--(5,4)--(4.7,0) -- (4.3,0);
답변2
당신이 사용할 수있는 rounded corners
:
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
%axes
\draw[very thick] (0,0)--(8,0);
\draw[very thick] (0,0)--(0,5) coordinate (y);
\draw (8,0) node[below] {Energy};
\node [draw=none,rotate=90, yshift=0.3cm] at (0,5) {Counts};
%1st peak
\draw[thick,blue,rounded corners=4mm] (7.3,0)--(7,3)--(5,4)--(4.7,0);
\draw[blue,dashed] (7,0)-- node[pos=1.1,above,right] {$4$}(7,2.6);
\draw[blue,dashed] (5.1,0)-- node[pos=1.1,above,left] {$3$}(5.1,3.7);
\draw[blue] (6,4.5) node[above] {$δE$};
%2nd peak
\draw[thick,red,rounded corners=4mm] (3.3,0) -- (3,2.5) -- (1,3.5) -- (0.7,0);
\draw[red,dashed] (2.9,0)-- node[pos=1.1,above,right] {$1$}(2.9,2.3);
\draw[red,dashed] (1.1,0)-- node[pos=1.1,above,left] {$2$}(1.1,3.25);
\draw[red] (2,4.5) node[above] {$δE$};
\end{tikzpicture}
\end{document}
또한 노드 1, 2, 3, 4에 대한 코드를 일부 단순화했습니다.