0
$\begingroup$

The following command:

Show[Plot[x^2, {x, 0, 3}], ListPlot[{{0, 0}, {1, 1}, {2, 4}, {3, 9}}]]

Yields the following figure:

enter image description here

I would like to add labels to each point. Each label would be a string containing the ordered pair for the point.

I know using the Labeled[] command in the following context

ListPlot[Table[Labeled[i, i], {i, 1, 5}]]

Yields this figure below:

enter image description here

I cannot find a way to combine the two commands to arrive at the desired result. This is mainly because I do not really understand how the Labels[] command works. Can anyone provide some guidance? Thanks.

$\endgroup$

closed as off-topic by Szabolcs, corey979, Feyre, MarcoB, Sascha Jan 13 '17 at 14:17

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question arises due to a simple mistake such as a trivial syntax error, incorrect capitalization, spelling mistake, or other typographical error and is unlikely to help any future visitors, or else it is easily found in the documentation." – Szabolcs, corey979, Feyre, MarcoB, Sascha
If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ Have you checked the examples in the ListPlot documentation that use Labeled? Have you checked the Details section of the same documentation page that describes the use of Labeled? Replace e.g. the {1,1} data point with Labeled[{1,1}, "something"] and see what happens. I think this is really a case of "off topic because it is easily found in the documentation". $\endgroup$ – Szabolcs Jan 13 '17 at 10:35
3
$\begingroup$

Example

This is one way how you could achieve the result.

Module[
 {
  offset = {0, .3},
  data = {{0, 0}, {1, 1}, {2, 4}, {3, 9}}
  },
 Show[
  Plot[x^2, {x, 0, 3}],
  ListPlot[data],
  (* The line below adds Text above ea. data point *)
  Graphics @ Text["P" <> ToString @ #, # + offset] & /@ data
  ]
 ]

Alternative

Module[
 {
  offset = {0, .3},
  data = {{0, 0}, {1, 1}, {2, 4}, {3, 9}}
  },
 Show[
  Plot[x^2, {x, 0, 3}],
  ListPlot[data -> data, LabelingFunction -> (# &)]
  ]
 ]

Reference

Text

$\endgroup$
0
$\begingroup$

With V11

data = {{0, 0}, {1, 1}, {2, 4}, {3, 9}};
dataForPlot = Map[Function[p, Callout[p, Style[p[[1]], Red, 14], Above]], data]
Show[ListPlot[dataForPlot], Plot[x^2, {x, 0, 3}], AxesOrigin -> {0, 0}]

Mathematica graphics

$\endgroup$

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