Querschnitt eines 2D-DiagrammsWie zeichne ich die Variation in einem 2D-Diagramm beispielsweise vertikal in einem 1D-Liniendiagramm in JMP auf?
Ich komme aus Matlab (ein Äquivalent in MATLAB ist so etwas wie Das )
Danke,
Erweiterte statistische ModellierungAutomatisierung und SkripterstellungVerbraucher- und MarktforschungDatenzugriffBetreff: Querschnitt eines 2D-DiagrammsEine Lösung ist jetzt verfügbar über Graph Builder-Symbolleiste

Betreff: Querschnitt eines 2D-DiagrammsHa!@ich h war mir zuvorgekommen. Ich habe ein ähnliches Beispiel gestartet, war dann aber drei Stunden lang in einer Besprechung.
Names Default to Here( 1 );
dt = New Table( "Slicing",
Add Rows( 2 ),
New Column( "X",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [-1, 1] )
),
New Column( "Y",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [-1, 1] )
),
New Column( "Z",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
100 + 25 * :X - 3 * :X ^ 2 - 15 * :Y - 5 * :Y ^ 2 - 7 * :X * :Y
)
)
);
dt << Surface Plot(
Columns( :Z ),
Surface Color Theme( "Green to Black to Red" ),
Surface Color Theme2( "Green to White to Red" ),
Surface Color Theme3( "White to Black" ),
Surface Color Theme4( "Blue to Gray to Red" ),
Response Column Color Theme( "Blue to Green to Red" ),
Response Column Color Theme2( "Spectral" ),
Response Column Color Theme3( "Jet" ),
Response Column Color Theme4( "White to Blue" ),
Formula( "Z" ),
Surface Color Method( "Solid", "Solid", "Solid", "Solid" ),
SetVariableAxis( :X, Axis Data( {} ) ),
SetVariableAxis( :Y, Axis Data( {} ) ),
SetZAxis( :Z, Current Value( 95 ), Axis Data( {} ) ),
SetXVariable( :X ),
SetYVariable( :Y ),
Iso Value( 0, 75 ),
Frame3D( Set Rotation( -54, 0, 38 ) )
);
dt << Profiler(
Y( :Z ),
Profiler(
1,
Term Value( X( 0, Lock( 0 ), Show( 1 ) ), Y( 0, Lock( 0 ), Show( 1 ) ) )
),
SendToReport(
Dispatch(
{"Prediction Profiler"},
"10000",
ScaleBox,
{Min( 72.5 ), Max( 125.754437869822 ), Inc( 10 ), Minor Ticks( 0 )}
)
)
);Betreff: Querschnitt eines 2D-DiagrammsKönnen Sie einige Beispieldaten und das Skript veröffentlichen, das Sie bisher haben?
Betreff: Querschnitt eines 2D-DiagrammsAußerdem kann das Konturdiagramm (kein Graph Builder, verwenden Sie die Konturplattform) gerasterte Daten speichern. Solange Sie vertikale oder horizontale Slices wünschen, sollte es sich um eine Zeile oder Spalte aus den Rasterdaten handeln.
dt = Open( "$sample_data/big class.jmp" );
// step 1: use the contour plot to get a grid of the data
cp = dt << Contour Plot(
X( :height, :weight ),
Y( :age ),
Show Data Points( 0 ),
Fill Areas( 0 ),
Label Contours( 0 ),
Transform( "Range Normalized" ),
Specify Contours( Min( 13 ), Max( 16.5 ), N( 8 ) )
);
nres = 100; // make this bigger if you think there is meaningful data there
dtGrid = cp << generate grid( nres, nres );
cp<<CLOSEWINDOW></CLOSEWINDOW>
// step 2: make the cross section
dtGrid:height<<SETMODELINGTYPE></SETMODELINGTYPE>
Drive the height selector with up and down arrows.Drive the height selector with up and down arrows.Betätigen Sie den Höhenwähler mit den Auf- und Abwärtspfeilen.
Bearbeiten: Die gerasterten Daten werden über die Hüllkurve der Datenpunkte hinaus extrapoliert. Die Enden des Querschnitts reichen vermutlich weit in den extrapolierten Bereich hinein. Sie möchten wahrscheinlich das Konturdiagramm (oben geschlossen, vielleicht offen lassen) bei Höhe=61,5 (usw.) abgleichen, um zu sehen, was der gültige Bereich für das Gewicht wäre. Selbst dann führt das Konturdiagramm eine lineare Interpolation über Dreiecke durch, die durch die Datenpunkte gebildet werden. Big Class ist nicht besonders glatt oder dicht, sodass Sie viele seltsame Artefakte sehen, die selbst innerhalb der Hülle der Datenpunkte ein falsches Gefühl für Details erzeugen.
Betreff: Querschnitt eines 2D-DiagrammsDanke. Mein 2D-Plot basiert auf Xdata, Ydata und Data.
Was Sie mit dem Datenfilter zeigen, sieht vielversprechend aus, aber ich kann es anscheinend nicht hinbekommen, ein Segment bei einem Xdata-Wert (für alle Ydata-Werte) darzustellen.
Ich werde weiterhin auf diese Seite schauen, aber jede Richtung wird sehr hilfreich sein.
(Ich bin auf JMP13)
Betreff: Querschnitt eines 2D-DiagrammsIch bin mir nicht sicher, ob Ihr 2D-Plot auf Punkten oder einer Formel basiert. Bei Punkten könnten Sie den Graph Builder verwenden, um Ihren Zielwert gegen eine Dimension in Ihrem Diagramm darzustellen, mit einem Datenfilter, um den „Slice“ in der anderen Dimension zu definieren.

Wenn Sie eine Spaltenformel untersuchen, stimme ich dem zu @Mark_Bailey dass der Profiler der einfachste Ansatz ist. Ändern Sie einfach den Wert eines Werts und sehen Sie sich das Diagramm auf dem anderen an.

Nachfolgend finden Sie Skripte für beide:
Names default to here(1);
dt = Open("$Sample_data/iris.jmp");
New Column("H1_1", Numeric, "Continuous", Format("Best", 12), Set Property("Notes", "Model NTanH(3)"), Formula(TanH(0.5 * ((-3.50407799736543) + -1.69201212624413 * :Sepal length + 4.45798369366822 * :Sepal width))), Set Property("Intermediate", 1));
New Column("H1_2", Numeric, "Continuous", Format("Best", 12), Set Property("Notes", "Model NTanH(3)"), Formula(TanH(0.5 * ((-4.34695576142641) + 0.578814453314083 * :Sepal length + -0.387699136913814 * :Sepal width))), Set Property("Intermediate", 1));
New Column("H1_3", Numeric, "Continuous", Format("Best", 12), Set Property("Notes", "Model NTanH(3)"), Formula(TanH(0.5 * ((-14.9199578715582) + 8.0363609653296 * :Sepal length + -9.32672254743267 * :Sepal width))), Set Property("Intermediate", 1));
New Column("Predicted Petal length", Numeric, "Continuous", Format("Best", 12), Set Property("Notes", "Model NTanH(3)"), Formula(9.72824082889675 + 0.825393378043811 * :H1_1 + 8.38378988028562 * :H1_2 + 1.62929374850912 * :H1_3), Set Property("Predicting", {:Petal length, Creator("Neural")}));
New Window("Plotting points",
H List Box(
Graph Builder(
Size( 522, 456 ),
Show Control Panel( 0 ),
Variables( X( :Sepal length ), Y( :Petal length ) ),
Elements( Points( X, Y, Legend( 295 ) ), Line( X, Y, Legend( 297 ) ) ),
Local Data Filter(
Add Filter(
columns( :Sepal width ),
Where( :Sepal width >= 2.9 & :Sepal width <= 3.1 )
)
)
),
Contour Plot(
X( :Sepal width, :Sepal length ),
Y( :Petal length ),
Show Data Points( 0 ),
Fill Areas( 0 ),
Label Contours( 0 ),
Transform( "Range Normalized" ),
Specify Contours( Min( 2 ), Max( 6 ), N( 5 ) ),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Add Ref Line(
{2.9, 3.1},
"Solid",
"Medium Dark Magenta",
"Slice",
1,
0.25
)}
)
)
)
)
);
//Profiler
Profiler(
Y( :Predicted Petal length ),
Profiler(
1,
Term Value(
Sepal length( 6.302, Lock( 0 ), Show( 1 ) ),
Sepal width( 3.125, Lock( 0 ), Show( 1 ) )
)
),
Expand,
SendToReport(
Dispatch(
{"Prediction Profiler"},
"Profiler",
FrameBox,
{Frame Size( 320, 260 )}
),
Dispatch(
{"Prediction Profiler"},
"Profiler",
FrameBox( 3 ),
{Frame Size( 320, 260 )}
)
)
);
Aktualisiert: Spaltenformeln für die Vorhersagespalte zum Skript hinzugefügt.
Betreff: Querschnitt eines 2D-DiagrammsDanke, die Profiler-Option sieht nützlich aus, aber es gibt viele Optionen. Ich werde es mir ansehen.
Was ich gesucht habe, ist ein skriptbasierter Ansatz.
Wie erhält man für ein 2D-Diagramm ein x-Schnitt (für einen gegebenen y-Wert) oder einen y-Schnitt (für einen gegebenen x-Wert)? Das ist alles, was ich im Moment tun möchte.Betreff: Querschnitt eines 2D-DiagrammsBitte lesen Sie in der JMP-Hilfe nach Profiler .