Wenn ich nur ein Foto habe, das eine Darstellung einiger Daten darstellt, aber nicht die Original-Rohdaten habe. Können Sie mir vorschlagen, wie mit diesem Diagramm ein Datensatz generiert werden kann?
Mein Ziel ist es, einen Datensatz zu generieren, der sein Profil darstellen kann, ihn mit anderen zu verbinden und dann eine neue Darstellung zu erstellen, um alles zusammenzuführen.
Kann das JMP-Skript oder seine grundlegenden Funktionstools verwendet werden? vielen Dank.

Hier ist ein Thread mit einem weiteren Beispiel dafür: Kann JSL den Wert der Kurve wiederherstellen?
Prost,
Brady
Ich denke, es gibt viele unbekannte Informationen, daher gibt es möglicherweise keine guten Antworten.
- Ist das eine geglättete Kurve?
- Wie viele Datenpunkte gab es?
- Welche Auflösung hatten die Daten?
Vielleicht würde die Verwendung des Fadenkreuz-Werkzeugs und einer neuen Datentabelle für 10 bis 20 Punkte ausreichen.
Wenn Sie glauben, dass sich auf der gezeichneten Linie Hunderte gültiger Punkte befinden, können Sie diese mit etwas JSL wiederherstellen. Lesen Sie die Kommentare; Studieren Sie die Ergebnisse und stellen Sie sicher, dass sie Sinn ergeben.
//
// this is NOT a general solution; it is tailored for this particular bitmap
//
img = Open( "https://us.v-cdn.net/6038925/uploads/images/33300i4DE1ABDC20B74778/qspringleaf_1-1622996228420.png" );
New Window( "Make sure this is the right image", img ); // view the img
// work with r,g,b arrays of pixel data...
{r, g, b} = img << getpixels( "rgb" );
// https://community.jmp.com/t5/JSL-Cookbook/Using-Loc-with-a-2D-Matrix/ta-p/195207
// explains the 1D vs 2D matrix/loc stuff...
nr = N Rows( b );
nc = N Cols( b );
// using the MS paint eyedropper, the blue-est of the pixels in the blue line have rgb=(56,89,165)
bluelocs = (Loc( r < (60 / 255) & g < (95 / 255) & b > (160 / 255) ) - 1); // bluelocs is a matrix of 1D indexes (0-based)
blueRowlocs = Floor( (bluelocs) / nc ) + 1; // nc is the number of columns in the 2D pixmat
blueCollocs = Mod( (bluelocs), nc ) + 1; // rowlocs and collocs are 2D indexes (1-based)
// the grid lines have rgb=(215,215,215) (the frame is darker, 165,165,165)
gridlocs = (Loc( r == (215 / 255) & g == (215 / 255) & b == (215 / 255) ) - 1);
gridRowlocs = Floor( (gridlocs) / nc ) + 1; // nc is the number of columns in the 2D pixmat
gridCollocs = Mod( (gridlocs), nc ) + 1; // rowlocs and collocs are 2D indexes (1-based)
// locate the top, bottom, left, and right gray grid lines; their values are hard-coded below...
MINRAD = 5;
MAXRAD = 140;
MINTHK = 595;
MAXTHK = 715;
// CAUTION: this works because there is not a lot of other gray pixels of this shade.
// the while-loop removes a couple that get in the way.
// a different source graph will have different problems.
dtGRAY = As Table( gridRowlocs || gridCollocs, <<COLUMNNAMES></COLUMNNAMES>
Graph of recovered data from blue lineGraph of recovered data from blue lineDiagramm der wiederhergestellten Daten aus der blauen Linie
Dies funktioniert mit dem Originaldiagramm, das Sie hochgeladen haben, nicht mit dem Diagramm mit reduzierter Auflösung, das Sie höchstwahrscheinlich in der Diskussion sehen.