
Eu tenho o diagrama a seguir e gostaria de estender a linha vermelha para que ela cruze os eixos e continue um pouco no início e no final como na segunda imagem, mas gostaria que os pontos vermelhos e azuis ainda se alinhassem verticalmente . Além disso, a linha vermelha prolongada deve terminar acima do eixo superior.
\documentclass{article}
\usepackage{pgf}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{figure} [tb]%
\centering
\begin{tikzpicture}
\begin{semilogxaxis}[
enlarge y limits=true,
enlarge x limits=false]
\addplot[very thick,draw=blue!70, mark=*,mark options={color=blue!70}] coordinates
{(229,62) (1475,122) (23598,255) (27101,272) (32427,280) (55124,322) (758667,5509) (1273808,5649) (1406902,6375)};
\end{semilogxaxis}
\begin{semilogxaxis}[
smooth,
axis y line=none,
axis x line=none,
ticks=none,
enlarge y limits=true,
enlarge x limits=false]
\addplot[very thick,draw=red!70] expression[domain=229:1406902] {x};
\addplot[draw=none,mark=*,mark options={color=red!70}] coordinates
{(229,229) (1475,1475) (23598,23598) (27101,27101) (32427,32427) (55124,55124) (758667,758667) (1273808,1273808) (1406902,1406902)};
\end{semilogxaxis}
\end{tikzpicture}
\caption{Caption}
\end{figure}
\end{document}
Tentei alterar a largura e a altura da segunda semilogaxis e alterar o domínio da curva interna, mas não consigo alinhar os pontos verticalmente.
Também tentei usar um \draw[domain=0:2000000,smooth,variable=\x] plot (axis cs:\x,\x);
, mas recebo um Dimension too large
erro e não consigo fazer com que os tikz \draw plot
usem o FPU (Floating Point Unit).
Responder1
Você pode continuar desenhando após plotar e utilizar as coordenadas especiais current plot end/begin
. Ao colocar coordenadas fictícias muito próximas do final e do início, você pode imitar uma aproximação tangente. Mas você tem que desligar o comportamento de recorte dos eixos. VerAlterar o estilo de linha em um gráfico para adicionar uma linha de tendência tracejada?para uma solução semelhante com um formato de nó que pode ser melhor em certos casos se o gráfico não for muito estranho.
\documentclass{article}
%\usepackage{pgf}
%\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{calc}
\begin{document}
\begin{figure} [tb]%
\centering
\begin{tikzpicture}
\begin{semilogxaxis}[
enlarge y limits=true,clip=false,
enlarge x limits=false]
\addplot[very thick,draw=blue!70, mark=*,mark options={color=blue!70}] coordinates
{(229,62) (1475,122) (23598,255) (27101,272) (32427,280) (55124,322) (758667,5509) (1273808,5649) (1406902,6375)};
\end{semilogxaxis}
\begin{semilogxaxis}[
smooth,clip=false,
axis y line=none,
axis x line=none,
ticks=none,
enlarge y limits=true,
enlarge x limits=false]
\addplot[very thick,draw=red!70] expression[domain=229:1406902] {x}
coordinate [pos=0.98] (c2) coordinate [pos=0.01] (c3) (current plot end) -- ($(c2)!10!(current plot end)$)
(current plot begin) -- ($(c3)!1.2!(current plot begin)$);
\addplot[draw=none,mark=*,mark options={color=red!70}] coordinates
{(229,229) (1475,1475) (23598,23598) (27101,27101) (32427,32427) (55124,55124) (758667,758667) (1273808,1273808) (1406902,1406902)};
\end{semilogxaxis}
\end{tikzpicture}
\caption{Caption}
\end{figure}
\end{document}