ejes[x_,y_,z_]:={Line[{{x,0,0},{0,0,0},{0,y,0}}],Line[{{0,0,0},{0,0,z}}],Text["x",{x+(x/15),0,0}],Text["y",{0,y+(y/15),0}],Text["z",{0,0,z+(z/15)}]};
coord[{x_,y_,z_}]:={Dashing[{.01,.01}],Line[{{0,0,0},{x,0,0},{x,y,0},{0,y,0},{0,0,0},{0,0,z},{x,0,z},{x,y,z},{0,y,z},{0,0,z}}],Line[{{x,0,0},{x,0,z}}],Line[{{x,y,0},{x,y,z}}],Line[{{0,y,0},{0,y,z}}]};
vector[{x_,y_,z_}]:={Line[{{0,0,0},{x,y,z}}],{RGBColor[1,0,0],PointSize[.02],Point[{x,y,z}]}};
vector[{x_,y_,z_},{xf_,yf_,zf_}]:={Line[{{x,y,z},{xf,yf,zf}}],{RGBColor[1,0,0],PointSize[.02],Point[{xf,yf,zf}]}};
vectorcoord[{x_,y_,z_}]:={coord[{x,y,z}],vector[{x,y,z}]}

Show[Graphics3D[{ejes[3,3,3],
vectorcoord[{1,2,1}],
vector[{1,2,1},{3,5,2}]
}],Boxed->False]

?Text

?Arrow