간단한 신경망 구조를 만들려고 하며 다음을 갖습니다.
\def\layersep{2.5cm}
\begin{tikzpicture}[shorten >=1pt,->,draw=black!50, node distance=\layersep]
\tikzstyle{every pin edge}=[<-,shorten <=1pt]
\tikzstyle{neuron}=[circle,draw=black!80,thick,minimum size=17pt,inner
sep=0pt]
\tikzstyle{annot} = [text width=4em, text centered]
\foreach \name / \y in {1,...,3}
\path[yshift=0.5cm]
node[neuron] (H-\name) at (\layersep,-\y cm) {$x_\y$};
\node[neuron,pin={[pin edge={->}]right:$h_\theta(x)$}, right of=H-2] (O) {};
\foreach \source in {1,...,3}
\path (H-\source) edge (O);
\end{tikzpicture}
렌더링되면 다음이 생성됩니다.
\path
라벨 을 붙이고 싶지만내가 본 모든 곳에서\draw
a 또는 라벨링에 대해서만 설명합니다 \node
. 나는 다음을 추가할 수 있어야 한다고 생각했습니다.
\path (H-\source) edge (O) {Label Text};
또는 label
가장자리에서 속성을 설정합니다.
\path (H-\source) edge[label=Label Text] (O);
하지만 작동하지 않는 것 같습니다.
나는 이 부분을 깨닫습니다.
\foreach \source in {1,...,3}
\path (H-\source) edge (O);
가장자리를 설정합니다. 또한 루프 내부에 새 생성을 시도했지만 node
가장자리에 식별자가 없기 때문에 가장자리를 기준으로 위치를 지정하는 방법을 확신하지 못했습니다.
도와주셔서 정말 감사합니다!
답변1
일부 튜토리얼에서 기본 tikz 명령의 구문을 찾아보세요. 라벨을 추가하려면 node
. 예를 들어, 다음을 사용하여 라벨이 있는 화살표를 가질 수 있습니다.
\draw[->] (H-\source) -- node[above]{a\source} (O);
또는
\path (H-\source) edge node[above]{a\source} (O);
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\begin{document}
\def\layersep{2.5cm}
\begin{tikzpicture}%
[shorten >=1pt,->,draw=black!50, node distance=\layersep,
every pin edge/.style={<-,shorten <=1pt},
neuron/.style={circle,draw=black!80,thick,minimum size=17pt,inner
sep=0pt},
annot/.style = {text width=4em, text centered}
]
\foreach \name / \y in {1,...,3}
\node[neuron,yshift=0.5cm] (H-\name) at (\layersep,-\y cm) {$x_\y$};
\node[neuron,pin={[pin edge={->}]right:$h_\theta(x)$}, right of=H-2] (O) {};
\foreach \source in {1,...,3}
\draw[->] (H-\source) -- node[above]{a\source} (O);
\end{tikzpicture}
\end{document}
답변2
내 의견을 답변으로 변환하겠습니다.
예를 들어 \path (H-\source) edge ["레이블 텍스트"] (O); (따옴표 라이브러리 필요) 또는 \path (H-\source) edge node[위] {Label Text} (O); ...이것이 당신이 찾고 있는 것인가요?
첫 번째 가능성인 라이브러리 chains
와 positioning
뉴런 위치 지정 및 이에 대한 올바른 구문을 고려하면 MWE는 다음과 같습니다.
\documentclass[tikz, border=2mm]{standalone}
\usetikzlibrary{chains, positioning, quotes}
\begin{document}
\def\layersep{12mm}
\begin{tikzpicture}[shorten >=1pt, ->, draw=black!50,
node distance = \layersep and 2*\layersep,
start chain = going below,
every pin edge/.style = {<-,shorten <=1pt},
neuron/.style = {circle,draw=black!80, thick,
minimum size=17pt, inner sep=0pt,
on chain},
annot/.style = {text width=4em, text centered},
every edge quotes/.style = {above,font=\footnotesize}
]
\foreach \y in {1,2,3}
\node (H-\y) [neuron] {$x_\y$};
\node (O) [neuron,pin={[pin edge={->}]right:$h_\theta(x)$},
right=of H-2] {};
\foreach \y in {1,2,3}
\draw[->] (H-\y) edge [above,"a\y"] (O);
\end{tikzpicture}
\end{document}
나는 며칠 전에 매우 비슷한 질문에 대한 답변을 썼다고 확신합니다.