I would like to put labels on vertices instead of putting a label on axes. I am not sure how this can be done. My specific question is the following. In the attached 3-d picture, I would like to remove the numbers 0,0.5 and 1. Currently, I have three labels for the three axes. I would like to remove them and instead place four labels (one for each vertex). I would really appreciate if someone could let me know how to do this.
Here is the code that I am using.
Clear[f, g, h, p, r, l, jac, u1, u2, u3, u4, G, x, y, z, sol, xinit, \
yinit, zinit, plotfunc0, plotfunc1]
r = 0.5; (*Recombination parameter*)
G = {{6, 6, 6, 2}, {5, 5, 5,
1}, {5, 5, 5, 1}, {7, 7, 7, 3}};
u1[x_, y_, z_] =
G[[1, 1]]*x + G[[1, 2]]*y + G[[1, 3]]*z +
G[[1, 4]]*(1 - x - y - z) ;
u2[x_, y_, z_] =
G[[2, 1]]*x + G[[2, 2]]*y + G[[2, 3]]*z +
G[[2, 4]]*(1 - x - y - z);
u3[x_, y_, z_] =
G[[3, 1]]*x + G[[3, 2]]*y + G[[3, 3]]*z +
G[[3, 4]]*(1 - x - y - z) ;
u4[x_, y_, z_] =
G[[4, 1]]*x + G[[4, 2]]*y + G[[4, 3]]*z +
G[[4, 4]]*(1 - x - y - z) ;
ualpha[x_, y_,
z_] = (x*u1[x, y, z]) + (y*u2[x, y, z]) + (z*
u3[x, y, z]) + ((1 - x - y - z)*u4[x, y, z]);
us[x_, y_, z_] = (x*u1[x, y, z]) + (y*u2[x, y, z]);
ua[x_, y_, z_] = (z*u3[x, y, z]) + ((1 - x - y - z)*u4[x, y, z]);
uc[x_, y_, z_] = (x*u1[x, y, z]) + (z*u3[x, y, z]);
ud[x_, y_, z_] = (y*u2[x, y, z]) + ((1 - x - y - z)*u4[x, y, z]);
F1[x_, y_,
z_] = ((1 - r)*x*u1[x, y, z]/ualpha[x, y, z]) + (r*us[x, y, z]*
uc[x, y, z]/((ualpha[x, y, z])^2)) - x;
F2[x_, y_,
z_] = ((1 - r)*y*u2[x, y, z]/ualpha[x, y, z]) + (r*us[x, y, z]*
ud[x, y, z]/((ualpha[x, y, z])^2)) - y;
F3[x_, y_,
z_] = ((1 - r)*z*u3[x, y, z]/ualpha[x, y, z]) + (r*ua[x, y, z]*
uc[x, y, z]/((ualpha[x, y, z])^2)) - z;
nmax = 1000.0;
tmax = 500;
func0 = {};
tol = 0.000001;
func1 = {};
P0 = {};
P1 = {};
basin0 = 0;
basin1 = 0;
basinneq01 = 0;
plotfunc0 = {};
plotfunc1 = {};
p100 = {1, 0, 0};
For[k = 1, k <= nmax, k++,
region = ImplicitRegion[
x + y + z <= 1 && x >= 0 && y >= 0 && z >= 0, {x, y,
z}];(*way to get uniform points from region*)
rand = RandomPoint[region] ;
solution =
NDSolve[{x'[t] == F1[x[t], y[t], z[t]],
y'[t] == F2[x[t], y[t], z[t]], z'[t] == F3[x[t], y[t], z[t]],
x[0] == rand[[1]], y[0] == rand[[2]], z[0] == rand[[3]]}, {x, y,
z}, {t, 0, tmax}];
prox = Evaluate[{x[t], y[t], z[t]} /. solution] /. {t -> tmax};
d0 = Norm[prox];
If[d0 < tol, basin0 = basin0 + 1,
If[d0 > 1 - tol, basin1 = basin1 + 1]];
(*If[d0>tol&&d1>tol,basinneq01=basinneq01+1,If[d0<tol,basin0=basin0+\
1,If[d1<tol, basin1=basin1+1]]];*)
If[d0 < tol,
plotfunc0 =
ParametricPlot3D[{x[t], y[t], z[t]} /. solution, {t, 0, tmax},
PlotRange -> {{0, 1}, {0, 1}, {0, 1}},
BaseStyle -> Arrowheads[{0, .01, 0.01, 0}],
PlotStyle -> {Red, Thin}, Boxed -> False,
AxesStyle -> Directive[Black, Bold, Thick, 16],
AxesEdge -> {{-1, -1}, {-1, -1}, {-1, -1}},
AxesLabel -> {"sc", "sd", "ac"}] /. Line -> Arrow,
plotfunc1 =
ParametricPlot3D[{x[t], y[t], z[t]} /. solution, {t, 0, tmax},
PlotRange -> {{0, 1}, {0, 1}, {0, 1}},
BaseStyle -> Arrowheads[{0, .001, 0.001, 0}],
PlotStyle -> {Blue, Thin}, Boxed -> False,
AxesStyle -> Directive[Black, Bold, Thick, 16],
AxesEdge -> {{-1, -1}, {-1, -1}, {-1, -1}},
AxesLabel -> {"sc", "sd", "ac"}] /. Line -> Arrow];
AppendTo[func0, plotfunc0];
AppendTo[func1, plotfunc1]]
p1 = Graphics3D[{Black, Opacity[0.1],
HalfPlane[{{1, 0, 0}, {0, 1, 0}}, {0, -1, 0}],
HalfPlane[{{0, 0, 1}, {0, 1, 0}}, {0, -1, 0}],
HalfPlane[{{0, 0, 1}, {1, 0, 0}}, {-1, 0, 0}]}];
Show[func0, func1, p1]
basin0 = basin0/nmax
basin1 = basin1/nmax
TimeUsed[]