3
$\begingroup$

I'm plotting a densityplot map from interpolated data.

I need to draw lines in which the value of my function is constant (isolines), but to be constant is not the function itself but a manipulation: I plot z(x,y)=a(x)-b(x,y) the isoline is b(x,y)=costant

plotter[min_, max_, NumberOfTicks_] := 
 DensityPlot[
  If[S*DOS[x] < 1, 
   If[δ - λ > 0, δ - λ, 0.1], -1], {x, 
   0.02, 0.5}, {S, 0, 1}, PlotPoints -> 100, 
  PlotRange -> {Automatic, Automatic, {2.5, 0}}, 
  ColorFunctionScaling -> False, 
  ColorFunction -> (ColorData["DeepSeaColors"][
      LogarithmicScaling[#, min, max]] &), 
  PlotLegends -> 
   BarLegend[{ColorData["DeepSeaColors"], {0, 2}}, 
    LegendMarkerSize -> 370, 
    Ticks -> ({LogarithmicScaling[#, min, max]} & /@ (min (max/min)^
          Range[0, 2, 1/NumberOfTicks]))], 
  ClippingStyle -> {RGBColor["NightBlue"]}, Frame -> True, 
  BaseStyle -> {FontWeight -> "Bold", FontSize -> 12}, 
  FrameLabel -> {"x", "I"}]
plotter[0.1, 3, 2]

enter image description here

$\endgroup$
  • $\begingroup$ Welcome to Mathematica.SE! 1) As you receive help, try to give it too, by answering questions in your area of expertise. 2) Take the tour and check the faqs! 3) When you see good questions and answers, vote them up by clicking the gray triangles, because the credibility of the system is based on the reputation gained by users sharing their knowledge. Also, please remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign! $\endgroup$ – user9660 Feb 11 '16 at 13:55
  • $\begingroup$ Could you please post the definitions of your functions and any other relevant code? $\endgroup$ – thedude Feb 11 '16 at 13:56
  • $\begingroup$ People here generally like users to post Mathematica code instead of descriptions, so they can copy-paste it. It makes it convenient for them and more likely you will get someone to help you. $\endgroup$ – user9660 Feb 11 '16 at 13:56
  • $\begingroup$ @Iris, actually all we really need are the definitions of a[x] and b[x,y], which you've left out. $\endgroup$ – Jason B. Feb 11 '16 at 14:08
  • $\begingroup$ But in my opinion, the general question of combining a density plot with an isoline is answered below, and doesn't really depend on the actual definitions of the functions involved. $\endgroup$ – Jason B. Feb 11 '16 at 14:09
3
$\begingroup$

It sounds to me like you want to put a contour plot of b[x,y] on top of a density plot of a[x]-b[x,y], easy enough to do

a[x_] := Sin[5 x]
b[x_, y_] := Sqrt[2 x^2 + 3 y^2 - 2 x y]
Show[
 DensityPlot[a[x] - b[x, y], {x, -5, 5}, {y, -5, 5}],
 ContourPlot[b[x, y], {x, -5, 5}, {y, -5, 5}, 
  ContourShading -> False]
 ]

enter image description here

$\endgroup$
  • $\begingroup$ @Iris, great! If you want to include only a single contour line with a given value, use something like ContourPlot[b[x, y] == 4, {x, -5, 5}, {y, -5, 5}, ContourShading -> False] $\endgroup$ – Jason B. Feb 11 '16 at 14:14
  • $\begingroup$ Great, It works! Thank you I'm new in using mathematica $\endgroup$ – Iris Feb 11 '16 at 14:15
  • $\begingroup$ @Iris, glad to help. If that solves it, be sure to click the check mark next to the answer so it isn't listed as an unanswered question any longer. $\endgroup$ – Jason B. Feb 11 '16 at 14:17
  • $\begingroup$ done! I'm new on this site too. I'm really grateful!! $\endgroup$ – Iris Feb 11 '16 at 14:21
  • 2
    $\begingroup$ great answer, but could be also combined into one plot with: DensityPlot[a[x] - b[x, y], {x, -5, 5}, {y, -5, 5}, MeshFunctions -> (b[#1, #2] &), Mesh -> 5] $\endgroup$ – chuy Feb 11 '16 at 16:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.