So iterieren Sie die Referenzlinie im DiagrammHallo,
Darf ich wissen, wie ich die Iteration zum Hinzufügen der Referenzlinie zum Diagramm mithilfe eines JSL-Skripts durchführen kann?
Da ich jetzt nur die Referenzlinie zum Diagramm für die erste Registerkarte hinzufügen kann, können andere Registerkarten des Diagramms nicht generiert werden.
Kann jemand helfen?
Danke.
Betreff: So iterieren Sie die Referenzlinie im DiagrammSie verstehen nicht, wie der Zeiger auf jedes Ihrer Variabilitätsdiagramme funktioniert. Sie verwenden den folgenden Code:
vchart = dt_raw_dataset << Variability Chart(
Y( Eval( IAT[i] ) ),
X( :Name( "Lot" ), :Name( "Fab Lot" ) ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
);
Sie durchlaufen diesen Code mehrmals. Sie denken, dass Sie mithilfe des Codes auf die Ausgabe vom ersten Mal verweisen können
vc = vchart[m] << Report;
Dies ist keine gültige Annahme. Stattdessen wird jedes Mal, wenn Sie die Speichervariable „vchart“ verwenden, kein neuer Wert zu einer Liste von vchart-Werten hinzugefügt, sondern der Wert von „vchart“ wird tatsächlich in einen neuen Wert geändert. Daher erhalten Sie genau das, was Sie melden. Nur eines der Diagramme enthält Referenzlinien. Das liegt daran, dass nur auf die letzte Instanz des Variabilitätsdiagramms verwiesen wird.
Was Sie tun müssen, ist, Ihren Code so zu ändern, dass Sie nicht „vchart“ für jede Instanz des Variabilitätsdiagramms verwenden, sondern etwa „vchart1“ für die erste, „vchart2“ für die zweite usw.
Und wenn Sie dann die Referenzlinien generieren, können Sie auf die erste, zweite usw. Instanz des Variabilitätsdiagramms zeigen.
Sie müssen lediglich eine Liste erstellen, in der Sie jeden Ihrer VChart-Zeiger speichern können, damit Sie sie später wieder abrufen können
dt = Current Data Table();
dd = {};
ow = Oneway( Y( :height ), X( :sex ) );
dd[1] = ow;
ow = Oneway( Y( :weight ), X( :sex ) );
dd[2] = ow;
rpt = Report( dd[1] );
rpt[AxisBox( 1 )] << Add Ref Line( 65 );
rpt = Report( dd[2] );
rpt[AxisBox( 1 )] << Add Ref Line( 120 );
Dieselbe Art von Methodik können Sie erweitern, um Referenzlinien usw. zu erstellen.
Betreff: So iterieren Sie die Referenzlinie im DiagrammHallo,
Eigentlich habe ich auf jeder Registerkarte 5 Diagramme.
Nun, in jedem Diagramm brauche ich 5 Referenzlinien.
Für den roten Farbteil konnte ich die Referenzlinie im Diagramm nur für eine Registerkarte generieren, für die anderen 4 Registerkarten des Diagramms konnte ich die Referenzlinie nicht generieren.
Aber wenn ich das gesamte Skript ausführe, wird mir kein Fehler angezeigt, sodass ich nicht weiß, wie ich ihn beheben kann.
Danke.
variabilityWindow = New Window( "Variability Chart", tb = Tab Box() );
For( i = 1, i <= N Items(distinctFamilyDevice), i++,
// Create a new tab and append the variability charts
tb << Insert(
distinctFamilyDevice[i],
VListBox(
vchart = dt_raw_dataset << Variability Chart(
Y( Eval(IAT[i]) ),
X( :Name( "Lot" ), :Name( "Fab Lot" ) ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
);
)
);
);
For(m = 1, m <= N Items(IAT), m++,
vc = vchart[m] << Report;
axisbox = vc [axisbox(1)];
axisbox << Add Ref Line(-1.5,"Dashed",red,"-1.5 Sigma",2);
axisbox << Add Ref Line(1.5, "Dashed", red, "1.5 Sigma", 2);
axisbox << Add Ref Line(0, "Solid", red, "Target", 2);
axisbox << Add Ref Line(-3, "Dotted", red, "-3 Sigma", 2);
axisbox << Add Ref Line(3, "Dotted", red, "3 Sigma", 2);
);
Betreff: So iterieren Sie die Referenzlinie im DiagrammIch fürchte, Sie veröffentlichen immer noch nicht genügend Details zu Ihrem Problem, als dass wir Ihnen effektiv eine Lösung anbieten könnten.
Können Sie anhand der Beispieldaten ein einfaches Beispiel konstruieren, das die Techniken demonstriert, die Sie ausprobieren?
Wir müssen genau wissen, welchen Code Sie in einem vollständigen, ausführbaren Beispiel ausprobiert haben und auf welches Problem genau Sie gestoßen sind. Das heißt, haben Sie eine Fehlermeldung erhalten? Hat sich der Code unerwartet verhalten? Haben Sie in irgendeinem Diagramm eine Referenzlinie erhalten? Alle Linien im selben Diagramm? Kurz gesagt, bitte mehr Details.
Hier ist ein Beispiel unter Verwendung der Beispieldaten, das eine grundlegende Vorgehensweise zeigt. Vielleicht können Sie dieses Beispiel erweitern, um die Schwierigkeit zu veranschaulichen, auf die Sie stoßen.
dt = Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
collist = {:NPN1, :NPN2, :NPN3, :NPN4};
varcharts = {};
tb = Tab Box();
For( i = 1, i <= N Items( collist ), i++,
tb << Insert(
collist[i] << get name,
V List Box(
varcharts[i] = dt << Variability Chart(
Y( collist[i] ),
X( :wafer ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" )
)
)
);
);
for(i=1, i<=nitems(varcharts),i++,
vc = varcharts[i] << Report;
axisbox = vc [axisbox(1)];
axisbox << Add Ref Line(110,"Dashed",blue,"-1.5 Sigma",2);
);
new window("My Window", tb);

Betreff: So iterieren Sie die Referenzlinie im DiagrammDanke @Jeff_Perkinson Und @txnelson für die Antwort.
Aber ich kann mein Problem immer noch nicht lösen.
Ich kann immer noch nicht dafür sorgen, dass jede Registerkarte für ihre Diagramme die Referenzlinie hat.
Ich musste es wirklich selbst ausprobieren, also darf ich fragen, ob es irgendwelche Alternativen gibt, wie ich trotzdem jede Registerkarte des Diagramms erstellen kann, die die Referenzlinie generieren kann?
Danke.
Betreff: So iterieren Sie die Referenzlinie im DiagrammIch würde Sie ermutigen, sich das anzusehen Achsenspalteneigenschaft . Wenn Sie diese Eigenschaft zu Ihrer Spalte hinzufügen, verfügt jedes Diagramm, das diese Spalte verwendet, über dieselben Achseneinstellungen, einschließlich Referenzlinien.
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
Column( dt, "weight" ) <<
Add Column Properties(
Set Property(
"Axis",
{Add Ref Line( 100, "Solid", "Black", "", 1 )}
)
);
dt << Bivariate( Y( :weight ), X( :height ), Fit Line );Betreff: So iterieren Sie die Referenzlinie im DiagrammHier ist ein sehr einfaches Beispiel.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
nw = New Window( "Tab Test",
mytab = Tab Box(
t1 = Tab Page Box( "One", onebiv = dt << Bivariate( Y( :weight ), X( :height ) ) ),
t2 = Tab Page Box( "Two", twobiv = dt << Bivariate( Y( :weight ), X( :age ) ) )
)
);
report(onebiv)[AxisBox(1)]<<ADD ref="" line=""></ADD>
Betreff: So iterieren Sie die Referenzlinie im DiagrammHallo,
Zum Erstellen der Registerkarten
tb << Insert(
distinctFamilyDevice[i],
VListBox(
dt_raw_dataset << Variability Chart(
Y( Eval(IAT[i]) ),
X( :Name( "Lot" ), :Name( "Fab Lot " ) ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
);
Beim Erstellen der Referenzlinien habe ich versucht, die Funktion expr zu verwenden, aber das gesamte Skript zur Verwendung der Funktion expr funktioniert nicht. Daher verwende ich sie nicht.
Ich verwende jetzt den folgenden Code, der eine Referenzlinie generieren kann, aber nur für die erste Registerkarte des Diagramms gilt.
vc = Variability Chart[i] << Report;
axisbox = vc [axisbox(1)];
axisbox << Add Ref Line(-1.5,"Dashed",blue,"-1.5 Sigma",2);
axisbox << Add Ref Line(1.5, "Dashed", blue, "1.5 Sigma", 2);
axisbox << Add Ref Line(0, "Solid", blue, "Target", 2);
axisbox << Add Ref Line(-3, "Dashed", red, "-3 Sigma", 2);
axisbox << Add Ref Line(3, "Dashed", red, "3 Sigma", 2); Plattform für die Erstellung des Diagramms ist das Variabilitätsdiagramm.
Danke.
Betreff: So iterieren Sie die Referenzlinie im DiagrammWir benötigen weitere Informationen, um Ihnen den richtigen Weg zu weisen.
Wie erstellen Sie Ihre Tabs? Mit welcher JSL haben Sie versucht, Referenzlinien in die Diagramme auf den anderen Registerkarten einzufügen?
Auf welcher Plattform erstellen Sie Ihre Diagramme?