# Can't see the text inserted into a plot by Epilog

I use this command

ListPlot[idata27,
Frame -> True,
PlotRange -> {All, All},
Epilog ->
{Inset[
Framed[Style["Here", 20], RoundingRadius -> 5, Background -> White],
{100, 19.6}]}]


to make this plot for a list of data

But I can't determine the x and y coordinates of the Epilog text to make it appear inside the plot. What should I do?

The position argument of inset is wrong. Try this

ListPlot[{#, #2/(# - 390)} & @@ # & /@
Thread[{400 + 10 RandomInteger[10, 100], RandomReal[10, 100]}],
Frame -> True, PlotRange -> {All, All}, Epilog -> {
Inset[Framed[Style["Here", 20], RoundingRadius -> 5, Background -> White], {440, 1/2}]}]


Coolwater's answer works well, but there are also ways of placing an insert without having to use actual plot coordinates.

Here are some examples. I use Coolwater's data generator.

SeedRandom[42];
data = {#, #2/(# - 390)} & @@ # & /@
Thread[{400 + 10 RandomInteger[10, 100], RandomReal[10, 100]}];


### Scaled positions

When scaled positions are used, {0, 0} refers to the left, bottom corner of the graphics viewport and {1, 1} refers to the right, top corner; consequently, {1/2, 1/2} refers to the center. So to center the text horizontally and put it near the top of screen, we can write

ListPlot[data,
Frame -> True, PlotRange -> {All, All},
Epilog ->
{Inset[
Framed[Style["Here", 20], RoundingRadius -> 5, Background -> White],
Scaled[{1/2, 1 - 1/8}]]}]


### Named positions

Named positions are accepted as a convenience but do not give fine control. Let's try to put the text in the top-right corner of the plot with named controls. The 3rd argument of Inset comes into play here; without it only the lower-left quadrant of the text box would be visible.

ListPlot[data,
Frame -> True,
PlotRange -> All,
PlotRangeClipping -> False,
Epilog ->
{Inset[
Framed[Style["Here", 20], RoundingRadius -> 5, Background -> White],
{Right, Top},
{Right, Top}]}]


This would look good if the plot weren't framed,

ListPlot[data,
PlotRange -> All,
PlotRangeClipping -> False,
Epilog ->
{Inset[
{Right, Top},
{Right, Top}]}]


but it does't look good with a framed plot. For a framed plot, we need more control, which brings me to my next topic.

### Mixing named and scaled positions

The problem we saw above can be fixed by using a scaled position to adjust the placement of the text. We nudges down and to the left in the plot by moving its reference point up and to right. Like so.

ListPlot[data,
Frame -> True,
PlotRange -> All,
Epilog ->
{Inset[
Framed[Style["Here", 20], RoundingRadius -> 5, Background -> White],
{Right, Top},
Scaled[{9/8, 9/8}]]}]