Coloring and legending issue

  • #1
djymndl07
16
0
Look at the following Image.
The results are okay but clearly the plot colors does not match with the color bar. for example the color bar is showing only single color. the value 0.4 in color bar corresponds to the radius 0.8 which is different color in the plot.

Another issue is that I don't know why that blue horizontal line is there at one side of the center. That should not be there.

I am using the following code-

f[r_] := 1 - (2*M)/r + Q^2/r^2 + (8/3)*Pi*P*r^2
mass = (3*Q^2 + 3*r^2 + 8*P*Pi*r^4)/(6*r) /. r -> rh;
T[r_] := (-Q^2 + r^2 + 8*P*Pi*r^4)/(4*Pi*r^3)
veff[r_] := f[r]/r^2
rp = r /. Last[NSolve[D[veff[r], r] == 0, r, Reals]] /. M -> mass

rs = rp/Sqrt[f[rp]] /. M -> 0.9;
Q = 0.1;
P = 0.3315;

plot = ParametricPlot[{rs*Cos[\[Theta]], rs*Sin[\[Theta]]}, {rh, 0.37, 0.6}, {\[Theta],
0, 2*Pi}, Axes -> False, ColorFunctionScaling -> False,
ColorFunction -> Function[{x, y, rh}, ColorData["SunsetColors"][Rescale[T[rh],
{T[0.37],T[0.6]}]]],
PlotLegends -> BarLegend[{"SunsetColors", {T[0.37], T[0.6]}}, LegendLabel ->
Style[HoldForm[T], 14]]]



Can anyone help me? Thanks in advance.
plot.png
 
Last edited:
Physics news on Phys.org
  • #2
Your color scale is based on T, but what you are plotting is rs. For rh in the range of the parametric plot, the values of rs go beyond the corresponding range in T, for example at rh = 0.6, rs ≈ 0.6, while the color scale goes tp to T[0.6] ≈ 0.53.
 

Similar threads

  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
245
  • MATLAB, Maple, Mathematica, LaTeX
Replies
3
Views
4K
  • Introductory Physics Homework Help
Replies
13
Views
565
  • Math Proof Training and Practice
3
Replies
80
Views
5K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
1K
  • Introductory Physics Homework Help
Replies
4
Views
307
  • MATLAB, Maple, Mathematica, LaTeX
Replies
9
Views
4K
  • Advanced Physics Homework Help
Replies
9
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
7
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
2K
Back
Top