
Tengo el siguiente diagrama y me gustaría extender la línea roja para que cruce los ejes y continúe un poco al principio y al final como en la segunda imagen, pero me gustaría que los puntos rojo y azul aún se alinearan verticalmente. . Además, la línea roja prolongada debe terminar por encima del eje 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}
Intenté cambiar el ancho y el alto del segundo semilogaxis y cambiar el dominio de la curva interna, pero no puedo lograr que los puntos se alineen verticalmente.
También intenté usar un \draw[domain=0:2000000,smooth,variable=\x] plot (axis cs:\x,\x);
, pero luego aparece un Dimension too large
error y no puedo lograr que tikz \draw plot
use la FPU (Unidad de punto flotante).
Respuesta1
Puede seguir dibujando tras trazado y utilizar las coordenadas especiales current plot end/begin
. Al colocar coordenadas ficticias muy cerca del final y del principio, se puede imitar una aproximación tangente. Pero hay que desactivar el comportamiento de recorte de los ejes. Ver¿Cambiar el estilo de línea dentro de un gráfico para agregar una línea de tendencia discontinua?para una solución similar con una forma de nodo que podría ser mejor en ciertos casos si la trama no es demasiado original.
\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}