# Plot a linear function with pgf plot?

Hi I would like to plot a graph of load voltage vs load current, I have been trying to do it with a tikzpicture, but wonder if maybe it can be done with a tikzplot? The bellow code is sort of what I am after, I want to plot the data and measure the gradient and get the yintercept, I'm quite new at using pgfplot so quite a step learning curve for me. My plot points would be

P1(0.750,7.50)
P2(0.409,8.192)
P3(0.281,8.437)
...


I can figure out the equation for the line and put this on as a label?

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\draw [ultra thick,-latex] (0,0)--(10,0) node [right, above]{$I_L$ Load Current};
\draw [ultra thick,-latex] (0,0)--(0,12) node [right]{$V_L$Load Voltage};
\coordinate (X2) at (4,0);
\coordinate (X1) at (6,0);
\coordinate (P1) at (0,5);
\coordinate (P2) at (0,7);
\coordinate (b)  at (4,5);
\coordinate (d)  at (6,7);
\coordinate (a)  at (4,7);
\coordinate (c)  at (6,5);
\node at (X2) [below] {$X2$};
\node at (X1) [below] {$X1$};
\node at (P2) [left] {$P2$};
\node at (P1) [left] {$P1$};
\draw [dashed] (a)node [above right] {$a$}--(X2);
\draw [dashed] (d)node [above right] {$d$}--(X1);
\draw [dashed] (P1)--(c)node [above right] {$c$};
\draw  (P2)--(d)node [above right] {$d$};
\node at (b) [above right]{$b$};
%\draw (d)--++(0:2)node [right] {$MC=AC$};
\draw (c)--(a)--++(135:5.65);
\draw (c)--++(-45:2) node [below] {$D$};
\end{tikzpicture}

\end{document}


This is what I have so far, but cant get it to look like the above example.. I'd like to take the dashed lines from some of my data points

\documentclass[convert = false, border=10pt]{standalone}
% http://sourceforge.net/projects/pgfplots/
\usepackage{pgfplots}
\usepackage{amsmath}
\usepackage{steinmetz}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xlabel=Voltage,
ylabel=Current]
(0.750,7.5)
(0.409,8.192)
(0.2812,8.437)
(0.2143,8.571)

};
\end{axis}
\end{tikzpicture}
\end{document}


This is one possible solution where the linear regression from pgfplotstable library is utilized. And the linear model is computed and shown in the legend. Y interception is also shown in the graph.

Code

\documentclass[convert = false, border=10pt]{standalone}
% http://sourceforge.net/projects/pgfplots/
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{amsmath}
\usepackage{steinmetz}
\usepackage{filecontents}
\usetikzlibrary{positioning}
\begin{filecontents}{data.csv}
X     Y
0.750   7.5
0.409   8.192
0.2812 8.437
0.2143 8.571
};
\end{filecontents}

\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=0,xmax=1,ymin=7,ymax=10,
xlabel=Voltage,clip=false,
ylabel=Current,
anchor=south,
legend cell align = left,
legend pos = north east,
every axis x label/.style={at={(current axis.south east)},below=7mm, anchor=east},
]
% raw datum read from an input file called data.csv
% -- linear regression
y={create col/linear regression={y=Y}}]{data.csv};
\addlegendentry{linear trend $\left(y=\pgfmathprintnumber{\pgfplotstableregressiona} \cdot x \pgfmathprintnumber[print sign]{\pgfplotstableregressionb}\right)$}
% -- extrapolation to find intersections.
\draw[dashed] (axis cs: 0,8.571)node[xshift=0.3cm,pin={left:$P_1$}]{}--(axis cs: 0.2143,8.571);
\draw[dashed] (axis cs:0,8.192)node[xshift=0.3cm,,pin={left:$P_2$}]{}--(axis cs: 0.409,8.192) |-
(axis cs:0,7)node[pos=0.5,pin={below:$X_2$},inner sep=0pt]{};
\draw[dashed] (axis cs: 0.2143,8.571) |- (axis cs:0,7)node[pos=0.5,pin={below:$X_1$},inner sep=0pt] {};