0

I have the following figure:

enter image description here

I'd like to reproduce it in Mathematica. It's doable to read the positions of the points by eye and then plot them; but, is there a more precise way of doing it?

  • ListLinePlot with ColorFunction – cvgmt Oct 24 '22 at 08:04
  • Oops, didn't realize that my single close vote would result in immediately closing this question. Anyway, you should take a look at that other question first, and if that's insufficient for a solution, ask specifically about issues not already covered in the answers there. – Szabolcs Oct 24 '22 at 08:29

1 Answers1

4

You must first get the coordinates of the points. Toward this aim, enlarge the picture a bit, copy it and paste it into Mathematica. Then right click into the picture and choose "Get Coordinates". Now read the coordinates of the lower left point and store it in: cll. The same for the upper right point: cur. Now define the values of these points as: ll and ur (you may do this more precise):

cll = {48.5, 40};
cur = {332.5, 303};
ll = {5, 2};
ur = {30, 100};

Now read the coordinates of all the points. Out of laziness, I do it only for moi500:

 cmoi500 = {{49, 217.8}, {106, 291}, {162, 303}, {218.5, 303}, {275.5, 
    303}, {332.5, 303}};

Next we transform the coordinate values to real values by:

moi500 = ( # - cll)/ (cur - cll) (ur - ll) + ll & /@ cmoi500 // N

Now we can plot the data (to beatify the plot use more option of ListLinePlot);

ListLinePlot[moi500, AxesOrigin -> {0, 0}, PlotMarkers -> Automatic]

enter image description here

Daniel Huber
  • 51,463
  • 1
  • 23
  • 57