Message Boards Message Boards

0
|
4774 Views
|
1 Reply
|
0 Total Likes
View groups...
Share
Share this post:

Plot Labels with arrows or lines pointing to different curves?

Posted 5 years ago
POSTED BY: Derek Handwerk

You may want to try experimenting with Callout[].

A2 = 1;
Manipulate[
 Plot[Evaluate@
   Table[Callout[Sqrt[x^2 - x^4]/Sqrt[1 + A2 \[Beta]], \[Beta], pos, 
     CalloutMarker -> "CirclePoint"], {\[Beta], {.1, .5, 1, 5, 10, 
      20}}], {x, 0, 1.2}, 
  AxesLabel -> {Subscript[k, x], Subscript[k, y]}, PlotRange -> All, 
  LabelStyle -> Directive[14, Bold], 
  ImageSize -> Large], {{pos, 0.8, "Position"}, 0, 1, 
  Appearance -> "Labeled"}]

Callout Example

Update

The LeaderSize option will give you more control over the callout placement. You can experiment with the manipulate below. For me, the largest effects were adjusting the Neck parameters.

A2 = 1;
m = Manipulate[
  Plot[Evaluate@
    Table[Callout[Sqrt[x^2 - x^4]/Sqrt[1 + A2 \[Beta]], \[Beta], pos, 
      Background -> White, 
      LeaderSize -> {{leadlen, horizangle Degree, gap}, {neck, 
         neckangle Degree}}, 
      CalloutMarker -> "CirclePoint"], {\[Beta], {.1, .5, 1, 5, 10, 
       20}}], {x, 0, 1.2}, 
   AxesLabel -> {Subscript[k, x], Subscript[k, y]}, PlotRange -> All, 
   LabelStyle -> Directive[14, Bold], 
   ImageSize -> Large], {{pos, 1/Sqrt[2], "Position"}, 0, 1, 
   Appearance -> "Labeled"}, {{leadlen, 40, "Leader Length"}, 0, 100, 
   Appearance -> "Labeled"}, {{horizangle, 225, 
    "Horizontal Angle(\[Degree])"}, -360, 360, 
   Appearance -> "Labeled"}, {{gap, 2, "Gap"}, 0, 10, 
   Appearance -> "Labeled"}, {{neck, 20, "Neck Length"}, 0, 100, 
   Appearance -> "Labeled"}, {{neckangle, 20, 
    "NeckAngle(\[Degree])"}, -360, 360, Appearance -> "Labeled"}]

enter image description here

POSTED BY: Tim Laska
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract