標記(ILMarker
)和 '分'(ILPoints
)是非常不同的野獸。標記的配置靈活得多,主要看起來更好,渲染成本也更高。它們通常由邊框(線條形狀)和填充區域(三角形形狀)組成,並帶有許多預定義的外觀。
另一方面,ILPoints被設計爲快速和容易。在不降低繪圖性能的情況下,可以輕鬆創建數百萬個點。不要用標記試試這個!但是,這樣的觀點就是:實心圓圈。是它。沒有邊界,沒有不同的形狀。
但是,如果您想試一試 - 即使對於您的問題中的1000分,也可以這樣做。只需改用ILLinePlot
併爲其配置一個標記。您可以將線條顏色設置爲Color.Empty
以使標記單獨顯示。
new ILLinePlot(points, lineColor: Color.Empty, markerStyle: MarkerStyle.TriangleDown)
爲了獲得單個點標記的單獨顏色,您可以將標記(點)分成單獨的一組點。使用上述方案爲每組點創建一個ILLinePlot。
處理'動態'問題的部分也很簡單:您可以在運行時更改標記的類型以及任何其他屬性。這裏是一個通過點擊任何地方現場紅色toogles三角標記和白色矩形標記之間的標記一個簡單的例子:
ilPanel1.Scene.MouseClick += (_s, _a) => {
if (_a.DirectionUp) return;
var lp = ilPanel1.Scene.First<ILLinePlot>();
if (lp != null) {
if (lp.Marker.Style == MarkerStyle.TriangleDown) {
lp.Marker.Style = MarkerStyle.Rectangle;
lp.Marker.Fill.Color = Color.White;
} else {
lp.Marker.Style = MarkerStyle.TriangleDown;
lp.Marker.Fill.Color = Color.Red;
}
lp.Configure();
ilPanel1.Refresh();
}
};
OK,我覺得你的問題很清楚了。不幸的是,我沒有在ILNumerics中使用陰謀,所以我無法進一步幫助你。希望別人會 - 祝你好運! – BartoszKP 2014-11-23 17:48:23