Le proprietà della linea di distribuzione vita non possono essere modificate (correlate a JMP17?)Ho appena iniziato a utilizzare JMP 17 (non sono sicuro che sia correlato), ma in alcuni casi non posso modificare alcuna proprietà delle linee nella piattaforma di distribuzione della vita.
Ho allegato il mio datatable con uno script per generare una trama Weibull. Nota che inizialmente sto cambiando i colori nello script per riflettere gli stati delle righe, che apparentemente funziona. ma una volta aperta la piattaforma non posso più cambiare nulla. Nello script ho già provato a impostare la larghezza della linea su 3, ma anche questo non funziona (ha funzionato con questo script in JMP16.2).

GraficaScriptingRi: Le proprietà della linea di distribuzione vita non possono essere modificate (correlate a JMP17?)Non ho mai eseguito queste modifiche prima, ma puoi realizzarle con JMP 17. Ho personalizzato manualmente la linea per il preventivo e poi ho salvato lo script. Ecco qui:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = dt << Life Distribution(
Y( :weight ),
<<FIT weibull=""></FIT>
Ri: Le proprietà della linea di distribuzione vita non possono essere modificate (correlate a JMP17?)Sono in grado di apportare modifiche al grafico quando scelgo la scheda "Life Distribution" nella piattaforma Life Distribution, ma non sono in grado di apportare modifiche quando seleziono la scheda "Compare Groups" della piattaforma Life Distribution. Questo potrebbe spiegare perché @Mark_Bailey e @mvandera stanno ottenendo risultati diversi, poiché l'esempio di Mark utilizza la scheda "Distribuzione della vita". Allo stesso modo, nella piattaforma Fit Life di X, non posso apportare modifiche allo spessore o ai colori delle linee (posso però cambiare il colore dei punti). Mi chiedo se questo sia il comportamento desiderato dagli sviluppatori.
Una potenziale soluzione alternativa potrebbe essere trovata nella normale piattaforma di distribuzione, dove è possibile adattare una distribuzione weibull, guardare i grafici QQ, quindi personalizzare i grafici separatamente, dopodiché è possibile copiare i contenuti dei frame da un grafico e incollarli nell'altro per averli entrambi sovrapposti su un grafico. Lo script seguente prepara questo copia/incolla sulla tabella dei dati che hai fornito (non ho incluso il bit di copia/incolla poiché i grafici sembrano disordinati nel prodotto finale, tanto che quasi non l'ho incluso come possibile soluzione).
Distribution(
SendToByGroup( {:Side == "Bottom"} ),
Continuous Distribution(
Column( :Y ),
Histogram( 0 ),
Fit Weibull( QQ Plot( 1 ) )
),
Histograms Only,
By( :Side ),
SendToByGroup(
{:Side == "Bottom"},
SendToReport(
Dispatch(
{"Distributions Side=Bottom", "Y"},
"Compare Distributions",
OutlineBox,
{Close( 1 )}
)
)
),
SendToByGroup(
{:Side == "Top"},
SendToReport(
Dispatch(
{"Distributions Side=Top", "Y"},
"Compare Distributions",
OutlineBox,
{Close( 1 )}
),
Dispatch(
{"Distributions Side=Top", "Y", "Fitted Weibull Distribution",
"QQ Plot"},
"FitDistributions",
FrameBox,
{DispatchSeg( Line Seg( 1 ), {Line Color( "Green" )} ),
DispatchSeg( Line Seg( 2 ), {Line Color( "Green" )} )}
)
)
)
)
Ri: Le proprietà della linea di distribuzione vita non possono essere modificate (correlate a JMP17?)Hai ragione. Il comportamento è cambiato in JMP17. In JMP17, le legende sono cliccabili e gli elementi grafici corrispondenti possono essere nascosti/mostrati. Ciò probabilmente ha portato al cambiamento di comportamento indesiderato in Personalizza.
Ma per ora, suggerisco di utilizzare la legenda per personalizzare. Ad esempio, facendo clic con il pulsante destro del mouse su una legenda, verrà visualizzato un menu a comparsa che consente di modificare il colore, lo stile della linea e lo spessore della linea.
Ri: Le proprietà della linea di distribuzione vita non possono essere modificate (correlate a JMP17?)Ciao, in JMP 16 stavo generando questi grafici automaticamente. Fare clic con il pulsante destro del mouse sulla legenda e modificare manualmente tutte le larghezze di linea non è quindi un'opzione.
Non c'è un modo per inviare questa proprietà della larghezza della linea al legendBox?
Ri: Le proprietà della linea di distribuzione vita non possono essere modificate (correlate a JMP17?)Sì, è possibile tramite scripting. La riga 33 del codice seguente ha un esempio.
dt = open ("$SAMPLE_DATA\reliability\blenders.jmp");
ld = dt << Life Distribution(
Perspective( Compare Groups ),
Y( :Time Cycles ),
Grouping( :Group ),
Confidence Interval Method( Wald ),
Select Distribution( Distribution, Weibull ),
Select Scale( Weibull ),
Tabbed Report( 0 ),
SendToEmbeddedScriptable(
Dispatch(
{"Individual Group", "Life Distribution Group=Automatic"},
{Y( :Time Cycles ), <<FIT weibull=""></FIT>Ri: Le proprietà della linea di distribuzione vita non possono essere modificate (correlate a JMP17?)In JMP16, la legenda che vedi non può controllare la larghezza della linea. Ha funzioni molto limitate.
Ri: Le proprietà della linea di distribuzione vita non possono essere modificate (correlate a JMP17?)Ciao, grazie per il suggerimento ma il tuo codice contiene nomi codificati (group=Automatic è nella spedizione). Questi valori di colonna non sono noti in anticipo, quindi in termini di script automatizzati questo non funziona.
Possiamo usare il box path o xpath per rimuovere la dipendenza dai nomi? Sotto il codice non funziona quando lo inserisco dopo il tuo script (ho rimosso alcuni dei tuoi dispacci per leggibilità)
dt = open ("$SAMPLE_DATA\reliability\blenders.jmp");
ld = dt << Life Distribution(
Perspective( Compare Groups ),
Y( :Time Cycles ),
Grouping( :Group ),
Confidence Interval Method( Wald ),
Select Distribution( Distribution, Weibull ),
Select Scale( Weibull ),
Tabbed Report( 0 ),
);
Report(ld)["Compare Distribution",AxisBox(2)]<<{Min(200)}; // Changing x-axis range works as expected
Report(ld)["Compare Distribution",LegendBox(1)] << {Line Width(3)}; // doesn't work, wrong syntax?
legendBoxes = Report( ld )["Life Distribution - Compare Groups - Time Cycles"]["Compare Distribution"] <<
Xpath( "//LegendBox" );
legendBoxes << {"Line Width",3}; // Also doesn't work
Ri: Le proprietà della linea di distribuzione vita non possono essere modificate (correlate a JMP17?)Non sono sicuro di come utilizzeresti xpath per questo, poiché l'oggetto LegendBox non sembra accettare alcun messaggio relativo alla larghezza della linea. Forse potrebbe funzionare un approccio diverso: come fai a sapere quale colonna inserire nella categoria Y durante la tua analisi? È sempre nello stesso punto, ha sempre qualcosa di speciale nel titolo della colonna? Se c'è un modo per sapere quale colonna usare, allora potrebbe essere inserito nel tuo script e il primo metodo potrebbe funzionare.
Ri: Le proprietà della linea di distribuzione vita non possono essere modificate (correlate a JMP17?)Siamo spiacenti, questo è stato bloccato nel filtro antispam.
Uso il cursore lampeggiante dell'editor su ( o ) per trovare la parentesi corrispondente. E spesso riformattare quando le parentesi vengono abbinate usando control-M, solo per vedere visivamente l'effettivo annidamento.
download PDF della scheda di riferimento rapido
Ri: Le proprietà della linea di distribuzione vita non possono essere modificate (correlate a JMP17?)modificare:
Sotto il codice fa quello che voglio, non è molto carino rispetto a JMP16 ma immagino che funzioni.
dt = open ("$SAMPLE_DATA\reliability\blenders.jmp");
New Column( "By",
Character,
"Nominal",
Set Selected,
Set Values(
{"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
"A", "A", "A", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B",
"B", "B", "B", "B", "B", "B", "B", "B", "A", "A", "A", "A", "A", "A",
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
"A", "A", "A", "A", "A", "A", "B", "B", "B", "B", "B", "B", "B", "B",
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B",
"B", "B", "B", "B", "B", "B"}
)
);
ld = dt << Life Distribution(
Perspective( Compare Groups ),
Y( :Time Cycles ),
Grouping( :Group ),
Confidence Interval Method( Wald ),
Select Distribution( Distribution, Weibull ),
Select Scale( Weibull ),
Tabbed Report( 0 ),
By("By")
);
Summarize( uniqueGroups = by( "Group" ) );
numGroups = N Items( uniqueGroups );
Summarize( uniqueBy = by( "By" ) );
numPlatforms = N Items( uniqueBy );
For( i = 1, i < numPlatforms + 1, i++,
For( j = 1, j < numPlatforms + 1, j++,
ld[i] << SendToReport(Dispatch(
"Compare Distribution",
"11111",
ScaleBox,
{Legend Model(
11111,
Properties(
0,
{Line Color( 6 ), Line Style( "Dashed" ), Line Width( 6 )}, // <-- Change line properties
Item ID( Eval( "Group=" || uniqueGroups[j] ), 1 )
)
);
};
);
);
);
);