我如何绘制一条经过两点(A)和(B)的线,在我的情况下是(0.1,40)和(1,0),并延伸该线直到它与对数刻度上的图的 x 轴相交?
有没有办法计算 x 轴上的那个点?下面是我的 MWE,蓝线停止在 (1,0),因为我还不知道如何从那里继续。
如果线延伸到 y 轴?在某些情况下,如果我将图缩小,这条线可能会延伸到右侧的 y 轴,而不是 x 轴。
\documentclass[table]{beamer}
\usetheme{Boadilla}
% For drawing block diagrams, plotting, etc
\usepackage{tikz}
\usetikzlibrary{shapes, arrows, arrows.meta, positioning, calc, quotes, backgrounds, intersections, fit}
\usepackage{pgfplots}
\begin{document}
\begin{frame}{Frame Title}
\begin{tikzpicture}
\pgfplotsset{height=7.0cm, width=6.0cm,compat=newest}
\begin{axis}[
title={\scriptsize Pole at the origin },
xmin=0.1, xmax=100,
ymin= -60, ymax=60,
x label style={at={(axis description cs:0.5,-0.05)},anchor=north},
y label style={at={(axis description cs:-0.1,0.5)},anchor=south},
xlabel={\scriptsize $\omega$ (radians)},
ylabel={\scriptsize mag (dB)},
y tick label style={font=\scriptsize},
x tick label style={font=\scriptsize},
xmode=log,
grid = both,
% modify tick labels
xtick = {0.1,1,10,100},
xticklabels={0.1, 1, 10, 100},
tick style={draw=none},
ytick = {60, 40, 20, 0, -20},
yticklabels={60, 40, 20, 0, -20},
]
\coordinate (O);
\draw[blue, thick] (0.1,20) -- (100,-40);
\draw[blue, thick] (0.1,40) -- (1,0);
\end{axis}
\end{tikzpicture}
\end{frame}
\end{document}
答案1
通过延长直线并使用与 x 轴坐标的交点,可以解决问题。具体来说,直线
\draw (1,0) to (intersection of 0.1,40--1,0 and 0.1,-60--100,-60);