BezugslinieLiebe Community,
Gibt es ein Skript, mit dem ich einem Mehrfachverteilungsdiagramm unterschiedliche Referenzlinien hinzufügen kann? Ich habe 4000 Histogramme und jedes davon hat einen anderen Referenzwert.
Ihre Hilfe wird wirklich geschätzt.
DankeBetreff: ReferenzlinieDanke für die schnelle Antwort.
Betreff: ReferenzlinieHinter allen Plattformanzeigen steht eine Baumstruktur, die es JSL ermöglicht, auf ein bestimmtes Objekt zu verweisen und Nachrichten an das Objekt weiterzuleiten.Wenn Sie in einer Ausgabeanzeige zu einem der grauen Dreiecke gehen, mit der rechten Maustaste darauf klicken und „Baumstruktur anzeigen“ auswählen, werden die Objekte angezeigt.Sie können sie referenzieren, indem Sie den Versatz zu jedem Objekt auswählen.Der
rbiv<SPAN class="token punctuation">[</SPAN><SPAN class="token function">j</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN>
ist ein Offset, der auf eine AxisBox() in der Anzeige zeigt.Diese Codierung ist sehr kryptisch.Ich denke, wenn Sie den folgenden Code untersuchen, werden Sie sehen, dass er jede der fünf Histogrammausgaben durchgeht, die erste Achse box() in jeder dieser Anzeigen findet und die Nachricht an Add Reference Line weiterleitet .Es entspricht der kryptischen Notation, jedoch in einer Form, die namentlich auf das zu ändernde Objekt verzweigt.
//Open datatable and make report
dt = Open( "$SAMPLE_DATA/Michelson.jmp" );
Biv = dt << Distribution(
Continuous Distribution( Column( :Velocity ) ),
By( :Trial# )
);
rbiv = Biv << Report();
// Here is created a list of all by-groups and a matrix with
//means of each group to be used as a refline.
//A custom list can be used instead using the same approach
Summarize(
groups = by( :Trial# ),
reflines = Mean( :Velocity )
);
n = N Items( groups );
//Add reference lines
For( j = 1, j <= n, j++,
//rbiv[j][1][1][1][1][1][1][1][1] <<
rbiv[j][AxisBox(1)]<<
add ref line( reflines[j], solid, "Red" )
);
Betreff: ReferenzlinieWas bewirkt oder bedeutet die folgende Codezeile?Woher weiß ich, wie viele [1]s erforderlich sind?Der Grund, warum ich frage, ist, dass ich in der Lage sein möchte, Ref-Zeilen mithilfe von Variablen in den Ref-Zeilen-Funktionseigenschaften hinzuzufügen.
rbiv<SPAN class="token punctuation">[</SPAN><SPAN class="token function">j</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN>
Betreff: Referenzlinie<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich habe ein ähnliches Problem. Ich habe einen Proc-Gplot, der mithilfe einer by-Anweisung 35 verschiedene Diagramme für verschiedene IDs zeichnet. Gibt es eine Möglichkeit, in jedem Diagramm eine andere horizontale Referenzlinie festzulegen? Und ist es auch möglich, den Wert dieser Referenzlinie entweder oben oder unten in der Linie anzuzeigen?
Danke
BezugslinieIch bin mir nicht sicher, was „Verlauf ETA A6“ für eine Art Objekt ist. Wenn es sich um den Namen des Graph Bulider-Objekts handelt, sollte es funktionieren. Wenn es sich jedoch um den Namen der Datentabelle handelt, funktioniert es nicht. Ich denke, es ist einfacher, dem Graph Builder-Fenster eine Variable zuzuweisen (wie oben).
Außerdem sollte es funktionieren. Ich habe mein Skript geändert, um die Reflines mithilfe Ihrer Syntax aus einer separaten Tabelle abzurufen, und es hat funktioniert.
Ich denke auch, dass Sie möglicherweise sicherstellen müssen, dass die richtige Tabelle die „aktuelle Datentabelle“ ist.
Betreff: ReferenzlinieEs hat geholfen, aber ich habe immer noch eine Fehlermeldung erhalten.
Ich habe 2 verschiedene Tabellen, eine Tabelle verwende ich für die Grafik, in der zweiten sind die Daten (Bericht „Verlauf Eta A6“) und Beschriftungen für Ref-Zeilen (Datentabelle „“) – ich habe das Format bereits auf geändert jmp lange Datumsnummer:
for(i=1,i<=nrows(data Table ("Ereignisse")),i++, report("Verlauf ETA A6")[Axis Box(1)] << add ref line (column(data Table ("Ereignisse"),"Datum"),Solid, "Purple", column(data Table ("Ereignisse"),"Bezeichnung") ));
aber das Protokoll gibt Folgendes zurück (nicht sehr hilfreich)
In the following script, error marked by /*###*/ For( ::i = 1, ::i <= N Rows( Data Table( "Ereignisse" ) ), ::i++, Report( "Verlauf ETA A6" )[Axis Box( 1 )] << /*###*/ add ref line( Column( Data Table( "Ereignisse" ), "Datum" )[::i], Solid, "Purple", Column( Data Table( "Ereignisse" ), "Bezeichnung" )[::i] ) /*###*/ )
BezugslinieDie seltsame Zahl ist JMPs interne Darstellung eines Datums-/Uhrzeitwerts (eigentlich die Anzahl der Sekunden seit einem Referenzdatum, das ich immer wieder vergesse ...).
VLine() scheint kein optionales Label-Argument zu haben. Sie können das Diagramm jedoch mit vertikalen Linien füllen, indem Sie Add ref line() in einer for-Schleife verwenden. Verwenden Sie Summarize(), um Listen und Matrizen der Beschriftungen und Daten aus der Datentabelle abzurufen. Siehe Beispielskript unten.
// Make example table
dt=New Table( "Test",
Add Rows( 6 ),
New Column( "Group",Nominal, Character, Set Values(
{"Group A", "Group A", "Group A", "Group B", "Group B", "Group B"})),
New Column( "Data", Numeric,
Set Values( [1, 2, 3, 2, 3, 4] )),
New Column( "Date", Numeric,
Format( "d-m-y", 12 ),
Set Values([3166214400, 3166300800, 3166387200, 3166214400, 3166300800, 3166387200])),
New Column( "Label",Nominal,Character,
Set Values( {"A", "B", "C", "A", "B", "C"} )));
// Make list of dates and labels
Summarize(dlist=by(:Date),dlist=mean(:Date));
Summarize(llist=by(:Label));
// Make graph
gb=Graph Builder(
Variables( X( :Date ), Y( :Data ), Overlay( :Group ) ),
Elements( Points( X, Y, Legend( 1 ) ) ));
//Add vertical reflines based on dates in Column date
for(i=1,i<=nrows(dlist),i++,
report(gb)[Axis Box(1)] << add ref line (dlist[i],Solid, "Purple", llist[i] ));
Ich hoffe das hilft.
Betreff: ReferenzlinieHallo,
Ich habe ein ähnliches Problem, ich habe ein Diagramm und auf der x-Achse befindet sich ein Datum (wie dmy), und ich möchte mehrere vertikale Referenzlinien auf der a-Achse. Heute habe ich ein Skript mit v-line verwendet, aber dort habe ich die Zeile, aber keine Beschriftung darauf erhalten.
Die Daten für die Referenzzeilen und die Beschriftung werden in einer Datentabelle gespeichert (Spaltendatum (Format dmy), Spaltenbezeichnung). Aber die manuelle Refline verwendet anstelle des Datums eine Zahl wie: 33962554400 (und ich weiß, dass dies ein Datum ist ...)
Graph Builder( Size( 696, 688 ), Show Control Panel( 0 ), Variables( X( :BL, Size( 212 ) ), Y( :Name( "x" ) ), Group Y( :Name( "s_-x" ) ), Overlay( :Projektklasse_plus ) ), Elements( Points( X, Y, Legend( 6 ) ) ), SendToReport( Dispatch( {}, "BL-date", ScaleBox, {Format( "d.m.y", 10 ), Interval( "Day" ), Inc( 1 ), Add Ref Line( 3396254400, Solid, {255, 0, 0}, "Label ref line 1" ) , Rotated Labels( 1 )} ), Dispatch(.......
Mein Vline-Skript sah so aus:
OPR[FrameBox(1)] << add graphics script (pen color("purple"); vline(column(data Table ("CHCharge$"),"CuI") << get values));
Aber eigentlich möchte ich wirklich unterschiedliche Ref-Zeilen mit einer Beschriftung, zu unterschiedlichen Daten, und die Datentabelle mit den Daten für die Ref-Zeilen enthält im Laufe des Jahres immer mehr Daten ...
Können Sie bitte Ihre Antwort klären, wie man eine Datentabelle verwendet?
Dank im Voraus.
Betreff: ReferenzlinieHallo MS,
Danke. Es klappt.
Mehr Kraft für SieBetreff: ReferenzlinieHier ist ein Beispielskript, bei dem davon ausgegangen wird, dass sich alle Histogramme im selben Fenster befinden. Die einzelnen Ref-Zeilen stellen hier lediglich den Gruppenmittelwert dar, das Skript kann jedoch problemlos an eine benutzerdefinierte Matrix oder Liste von Werten angepasst werden, die beispielsweise aus einer Tabelle abgerufen werden
//Open datatable and make report
dt = Open( "$SAMPLE_DATA/Michelson.jmp" );
Biv = dt << Distribution(
Continuous Distribution( Column( :Velocity ) ),
By( :Trial# )
);
rbiv = Biv << Report();
// Here is created a list of all by-groups and a matrix with
//means of each group to be used as a refline.
//A custom list can be used instead using the same approach
Summarize(
groups = by( :Trial# ),
reflines = Mean( :Velocity )
);
n = N Items( groups );
//Add reference lines
For( j = 1, j <= n, j++,
rbiv[j][1][1][1][1][1][1][1][1] <<
add ref line( reflines[j], solid, "Red" )
);