
Preciso traçar alguns pontos em um gráfico; apenas uma lista simples de valores xey e depois conectá-los com segmentos de linha. Atualmente, estou fazendo um gráfico no Excel e importando a imagem para o látex e não parece bom. Existe alguma maneira de traçar coordenadas apenas usando látex?
Responder1
Os pontos de dados podem ser inseridos diretamente usando o data
comando da datavisualization
biblioteca. O mesmo se aplica se você tiver a função em vez dos pontos de dados. Aqui estão alguns exemplos adaptados do TikManual Z-PGF:
\documentclass[border=2mm,tikz]{standalone}
\usetikzlibrary{datavisualization}
\begin{document}
\begin{tikzpicture}
\datavisualization [school book axes, visualize as smooth line]
data {
x, y
-1.5, 2.25
-1, 1
-.5, .25
0, 0
.5, .25
1, 1
1.5, 2.25
};
\end{tikzpicture}
\end{document}
Alterar o estilo dos eixos para científico, por exemplo, pode dar uma aparência diferente:
\datavisualization [scientific axes, all axes={grid}, visualize as smooth line]
Além disso, se você tiver a função em mãos, isso pode ser bem fácil:
\documentclass[border=2mm,tikz]{standalone}
\usetikzlibrary{datavisualization.formats.functions}
\begin{document}
\begin{tikzpicture}
\datavisualization [school book axes, visualize as smooth line]
data [format=function] {
var x : interval [-1.5:1.5] samples 7;
func y = \value x*\value x;
};
\end{tikzpicture}
\end{document}
com o mesmo resultado da entrada dos pontos de dados:
Responder2
Aqui está um exemplo usando pgfplots
. Os dados também podem ser lidos de um csv
arquivo ou calculados por meio de fórmulas.
\documentclass[border=2mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot coordinates {
(1, 1)
(2, 4)
(3, 9)
(4, 16)
(5, 25)
};
\end{axis}
\end{tikzpicture}
\end{document}
Responder3
Aqui está um pequeno exemplo criado PSTricks
com TikZ
. Ainda não entendo porque muitos usuários já estão abandonando esta oportunidade de construir gráficos com o PSTricks
.
\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-plot}
\usepackage{pst-eucl}
\psset{algebraic,arrows=->}
\def\f{x^2}
\begin{document}
\begin{pspicture}(-5,-3)(5,5)
\psaxes[linewidth=.5pt,linecolor=darkgray](0,0)(-4,-1)(3,4)[$x$,0][$y$,90]
\psplot[linecolor=magenta]{-5}{5}{\f}
\pstGeonode[PosAngle=-30,PointNameSep=15pt,PointName={{\scriptstyle(0,.5)},{\scriptstyle(1,f(2))}}]
(0,0.5){F}(*1 {\f(x)}){A}
\end{pspicture}
\end{document}
Responder4
Se você conhece um pouco sobre R, knitr é uma boa opção:
\documentclass{article}
\begin{document}
<<echo=F, fig.cap="One simple plot.", dev='tikz'>>=
df <- data.frame(x = c(1,2,3,4,5,6,7), y= c(1,2,4,8,16,32,64))
plot(df, pch=16, col="red")
lines(df$x,df$y, col="red", lwd=3)
@
\end{document}