
Ich möchte aus den darin erstellten Daten ein Diagramm zeichnen pgfplottable
.
Ich habe eine Datendatei data.dat
:
x,y
1,2
2,3
3,4
4,5
5,8
6,9
7,34
Und dieser Code:
\documentclass{beamer}
\usepackage{etex}
\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{epstopdf}
\usepackage{tikz}
\usepackage{circuitikz}
\usepackage{pstricks}
\usepackage{array}
\usepackage{graphicx}
\usepackage{filecontents}
\begin{document}
\begin{frame}
\pgfplotstableread[col sep = comma]{data.dat}\loadedtable
\pgfplotstableset{
create on use/new/.style={
create col/expr={\thisrow{x}^(2)}},
create on use/new2/.style={
create col/expr ={\thisrow{y}/((7.75))}
}
}
\end{frame}
\end{document}
Also habe ich aus meinen Daten zwei weitere Datenspalten erstellt.
Nun möchte ich „new“ in Bezug auf „new2“ darstellen und eine Anpassung dieses Diagramms erstellen.
Weiß jemand, wie das geht?
Antwort1
Du brauchst
\begin{tikzpicture}
\begin{axis}
\addplot table [x=new,y=new2] {\loadedtable};
\addplot table[x=new,y={create col/linear regression={y=new2}}] {\loadedtable};
\end{axis}
\end{tikzpicture}
Das vollständige Beispiel:
\documentclass{beamer}
\usepackage{etex}
\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{epstopdf}
\usepackage{tikz}
\usepackage{circuitikz}
\usepackage{array}
\pgfplotsset{compat=newest}
\usepackage{graphicx}
\usepackage{filecontents}
\begin{filecontents*}{data.dat}
x,y
1,2
2,3
3,4
4,5
5,8
6,9
7,34
\end{filecontents*}
\begin{document}
\begin{frame}
\pgfplotstableread[col sep = comma]{data.dat}\loadedtable
\pgfplotstableset{
create on use/new/.style={
create col/expr={\thisrow{x}^(2)}},
create on use/new2/.style={
create col/expr ={\thisrow{y}/((7.75))}
}
}
\begin{tikzpicture}
\begin{axis}
\addplot table [x=new,y=new2] {\loadedtable};
\addplot table[x=new,y={create col/linear regression={y=new2}}] {\loadedtable};
\end{axis}
\end{tikzpicture}
\end{frame}
\end{document}