在 JMP 首選項中自訂箱線圖顏色好的 - 這個問題以前曾被問過,但根據我對幾次討論的篩選,從未得到徹底的回答。
我們公司最近升級到了 JMP 13。 我是從 JMP 10 升級的。 在我的計算機上,添加到“通過 x 擬合 y”單向圖的箱線圖顯示為紅色。 在同事的電腦上全新安裝了 JMP 13,新增至「透過 x 擬合 y」單向圖的箱型圖顯示為黑色。
為了獲得黑色箱線圖,我必須透過右鍵單擊圖表中的空白區域進入“自訂”,然後單獨更改每個箱線圖輪廓。
由於我同事的箱線圖沒有顯示為紅色,這一定是某個地方的設定。
一定有一種方法可以做到這一點,而無需每次都編寫腳本。
有人知道嗎???????
請幫忙。
回覆:在 JMP 首選項中自訂箱線圖顏色最有可能的是,它發現了一些不應該出現的其他視窗(這些視窗可能在較新版本的 JMP 中發生了變化)。 對我來說,它確實找到了“日誌”視窗(增強的日誌?),這導致了問題,所以我添加了對“日誌”視窗名稱的檢查:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
fit = dt << Oneway(Y(:height), X(:sex), Box Plots(1));
winlst = Get Window List();
For(i = 1, i <= N Items(winlst), i++,
_nme = winlst[i] << Get Window Title;
_child = winlst[i] << Child;
If((_child << class name) == "ListBox" & _nme != "Log",
_clnme = _child[Outline Box(1)] << get title;
If(Contains(_nme, "Oneway") | Contains(_clnme, "Oneway") | Contains(_clnme, "Fit Group"),
bseg = _child << Xpath("//BoxPlotSeg");
If(N Items(bseg) > 0,
bseg << Set Line Color("Black")
)//Set Box Type("Outlier"))
;
);
);
);
您可以編輯插件的 addin.jmpcust 檔案(從 %appdata%\SAS\JMP\Addins\com.blackboxplot.addin 找到)並添加與我所做的相同的檢查,或從安裝程式重建插件並修改其中的程式碼

回覆:在 JMP 首選項中自訂箱線圖顏色感謝您提供這樣的解決方案,但對我來說,添加插件後,當我嘗試在可變性圖中使用它時,它會拋出警報“無法在訪問或評估'_child [OutlineBox(1)]'時為顯示框新增下標」。 有什麼解決辦法嗎?
回覆:在 JMP 首選項中自訂箱線圖顏色哈哈,這是我正在尋找的回應。
回覆:在 JMP 首選項中自訂箱線圖顏色哈哈 - 在顯示器上?
回覆:在 JMP 首選項中自訂箱線圖顏色也許他們的紅墨水用完了...
回覆:在 JMP 首選項中自訂箱線圖顏色哇,這個插件比手動修復這些要好得多。 太感謝了!
我確實希望我們能弄清楚為什麼它們在我同事的機器上自動變黑。 很奇怪!
回覆:在 JMP 首選項中自訂箱線圖顏色我不知道將預設 BoxPlotSeq 設定為具有將顏色設為黑色的 Box Type("Outlier") 的偏好,也不知道如何變更預設 BoxPlotSeg 線條顏色。也許 JMP 開發人員有一個僅 JSL 的偏好,可以做到這一點。
請注意,GraphBuilder 箱線圖預設為黑色。
附加檔案是根據下列腳本建立的加載項。 如果您安裝了該插件,那麼一旦創建了箱線圖,您就可以從主選單 > 插件 > BlackBoxPlot 運行它。
您可能希望推遲安裝加載項,以防有其他解決方案可以設定預設值;那麼這個插件就沒有必要了。
JSL 腳本編寫器,透過一些額外的腳本,使用 Pick Color() 或提示顏色、線寬、填充和透明度的選單,將成為一個很好的應用程式來自訂所有箱線圖。 請注意,此腳本是為在 JMP 13 和 14 上運行而編寫的。
Names Default To Here(1);
winlst = Window();
For(i=1, i<=nitems(winlst), i++,
_nme = winlst[i] << Get Window Title;
_child = winlst[i] << Child;
If( (_child << class name) == "ListBox",
_clnme = _child[OutlineBox(1)] <<GET title="">0, bseg << Set Line Color("Black") )//Set Box Type("Outlier"))
);
);
);</GET>