
Estou tentando traçar alguns pontos com mudanças bruscas de inclinação. Mas recebo um comportamento estranho como este:
como você pode ver nos picos, não há suavidade ali.
Porém, acho que o problema é o algoritmo de interpolação, porque o tikz usacurvas de Bézier. Então, estou me perguntando: existe uma maneira de superar esse problema?
Estou colocando aqui apenas uma amostra dos dados. Porém, tenho vários gráficos com essas descontinuidades e gostaria de obter uma forma automática de corrigi-las. Se precisar posso mostrar mais pontos em que ocorrem descontinuidades.
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotstableread{
0.0000 0.0000
0.1561 0.8615
0.1614 0.8643
0.1669 0.8670
0.3619 0.8670
0.3679 0.8781
0.3739 0.8809
0.3799 0.8809
0.3858 0.8837
0.3918 0.8975
1.0000 1.0000
}\datatable
\begin{document}
\makeatletter
\begin{tikzpicture}
\begin{axis}[
ylabel=label,
no markers,
smooth
]
\addplot table [x index=0, y index=1] \datatable;
\end{axis}
\end{tikzpicture}
\end{document}
Responder1
Você pode adicionar e brincar com a tension=0.08
opção do eixo (quanto menor o número, mais nítido ele fica dentro da escala [0,1]
.
Mas o principal problema é que você tem grupos de pontos muito próximos uns dos outros e de repente salta para um grupo de maior valor, o que restringe a liberdade da curva e torna a interpolação mal condicionada. Eu sugeriria deixar de fora os pontos muito próximos (!), Se possível.