You have loaded the pgfplots package, although you did not use it.
I have removed it and have loaded only TikZ instead (in this case by the class option tikz).
Use styles!
I have introduced a few. These are:
elli=<angle>:<x radius> and <y radius>
The elli style results in a node in the shape of an ellipse with the assigned radii rotated by <angle>.
The style also uses outer sep=0pt to move the anchors to the middle of the line.
elli node=<angle>
The elli node style should be used for the nodes for the braces (the eigenvalues?). The not-drawn shape circle is used to place the node more precisely. This is done in two ways:
The anchor is set to <angle>-90, so that the node is placed rectangular to the decorated line.
The node is shifted in the opposite direction, <angle>+90 by the amount of the amplitude and the raise amount (the raise amount is not stored in a macro like the amplitude amount so I stored in manually with the addition to /pgf/decoration/raise).
Take a look at this animation to see how you can overwrite the anchor to replace the node (I used this for the y eigenvalue).
It may also needed to use the shift options of TikZ anyway.

eigen={<amplitude>}{<raise>}
This style does all bracing with the given values for the amplitude and the raise option. The default values are 15pt and 4pt (as in your example).
The styles axis and normal axis should be self-explanatory.
Notes (Further Enhancements)
Rename the styles if you have more fitting names, say eigenvalue instead of elli node.
I noticed now that the mirror option is not taken into account for the placement of the elli node. Meaning that the nodes are always placed on the left side. This could be fixed quite easily.
I have used the ellipsoid node’s anchors to draw the lines e1 and e2.
I am not entirely sure how long the lines should be. This is just one option of many to place lines relative to another object.
The normal axes are not touched (except for the style).
Code
\documentclass[tikz]{standalone}
\usetikzlibrary{
shapes.geometric,
decorations.pathreplacing
}
\tikzset{
elli/.style args={#1:#2and#3}{
draw,
shape=ellipse,
rotate=#1,
minimum width=2*#2,
minimum height=2*#3,
outer sep=0pt,
},
/pgf/decoration/raise/.append code={
\def\tikzdecorationsbrace{#1}
},
elli node/.style={
circle,
black,
draw=none,
midway,
anchor=#1-90,
inner sep=0pt,
shift=(#1+90:\tikzdecorationsbrace+\pgfdecorationsegmentamplitude)
},
eigen/.style 2 args={
decorate,
decoration={
brace,
amplitude=#1,
mirror,
raise=#2,
},
},
eigen/.default={15pt}{4pt},
axis/.style={
line width=.5mm,
->,
},
normal axis/.style={
axis,
dashed,
}
}
\begin{document}
\begin{tikzpicture}
\node[elli=45:4.5cm and 2.0cm, line width = 0.5mm] at (0, 0) (e) {};
\draw[normal axis] (-5, 0) -- (5, 0) node[right] {$X_{1}$};
\draw[normal axis] (0, -5) -- (0, 5) node[above] {$X_{2}$};
\draw[axis] ([shift={(45:-5.5cm)}] e.center) -- ([shift={(45:5.5cm)}] e.center) node[above right] {$e_1$};
\draw[axis] ([shift={(90+45:-5.5cm)}] e.center) -- ([shift={(90+45:5.5cm)}] e.center) node[above left] {$e_2$};
\draw[red,eigen] (e.east) -- (e.center)
node[elli node=45] {$\frac{c}{\sqrt{\lambda_1}}$};
\draw[red,eigen] (e.north) -- (e.center)
node[elli node=45+90, anchor=-15] {$\frac{c}{\sqrt{\lambda_2}}$};
\end{tikzpicture}
\end{document}
Output

amplitudeandraise? – Jake Feb 18 at 16:04\draw [decorate,...] (45:4.5) -- (0, 0)for the major semi-axis, and\draw [decorate,...] (45+90:2)for the minor semi-axis. Is that what you mean? – Jake Feb 18 at 16:12ellipseshape. Than you can use the anchors north, east and center to specify the braces’ start and end points without the need to adjust the coordinates (or even calculate them). – Qrrbrbirlbel Feb 18 at 16:12