Я хотел бы масштабировать ось y, чтобы мой график не был микроскопическим по оси y. Однако, когда я использую , yscale = x
где x — некоторое число, изображение и круги искажаются. Я хотел бы удлинить ось y, не искажая ничего.
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[yscale = 2]
% x and y axis
\draw (-0.5cm, 0) -- (9.5cm, 0) node[font = \small, right] {$k$};
\draw (-0.5cm, 0) -- (-0.5cm, 0.1cm) node[font = \small, above] {$p_X$};
% x and y tick marks and probabilities
\foreach \x in {0, 1, ..., 9}{
\draw (\x cm, 0) -- (\x cm, -0.1cm) node[below, font = \small] {$\x$};
\draw[fill = black] (\x cm, 0) -- (\x cm, 0.1cm) circle[radius = 0.025cm];
}
\foreach \y in {0.01, ..., 0.1}{
\draw (-0.5cm, \y cm) -- (-0.6cm, \y cm) node[left, font = \small] {$\y$};
}
\end{tikzpicture}
\end{document}
решение1
Проблема в том, что ваши вертикальные линии и окружности рисуются одновременно. Поэтому нет такого масштабирования по оси Y, которое бы влияло только на вертикальные линии. Использование узлов решает эту проблему.
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw(-0.5,0)--(9.5,0)node[font=\small,right]{$k$};
\draw[yscale=30](-0.5,0)--(-0.5,0.1)node[font=\small,above]{$p_X$};
\foreach\x in{0,...,9}{
\draw(\x,0)--(\x,-0.1)node[below,font=\small]{$\x$};
\draw[yscale=30](\x,0)--(\x,0.1)node[circle,fill,draw,scale=.3]{};}
\foreach\y in{1,...,10}{
\draw[yscale=30](-0.5,\y/100)--(-0.6,\y/100)node[left,font=\small]{$\y$};
}
\end{tikzpicture}
\end{document}