翻譯|使用教程|編輯:楊鵬連|2020-09-02 10:33:12.333|閱讀 191 次
概述:本教程介紹如何創建分級面板,在“刻度”面板Panel.Graduated,平定期刻度/文字標簽沿主子圖的行程形狀。刻度面板可以視為顯示一系列值的比例尺。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
GoJS是一款功能強大,快速且輕量級的流程圖控件,可幫助你在JavaScript 和HTML5 Canvas程序中創建流程圖,且極大地簡化您的JavaScript / Canvas 程序。
功能外觀屬性
還有一些功能屬性,可以進一步自定義刻度線和標簽的外觀。
diagram.add( $(go.Part, "Graduated", $(go.Shape, { geometryString: "M0 0 H400" }), $(go.Shape, { // skip drawing tick at 30 graduatedSkip: function (v) { return v === 30; }, geometryString: "M0 0 V10" } ), $(go.TextBlock, { segmentOffset: new go.Point(0, 12) }) ));設置graduatedFunction允許更改標簽的顯示方式:
diagram.add( $(go.Part, "Graduated", $(go.Shape, { geometryString: "M0 0 H400" }), $(go.Shape, { geometryString: "M0 0 V10" }), $(go.TextBlock, { // always display two decimals graduatedFunction: function(val) { return val.toFixed(2); }, segmentOffset: new go.Point(0, 12) } )));
有一些方法可用于計算漸變路徑上的點:
var gauge = $(go.Part, "Auto", { location: new go.Point(10, 20) }, $(go.Shape, { fill: "white" }), $(go.Panel, "Graduated", { name: "SCALE", margin: 10 }, $(go.Shape, { name: "PATH", geometryString: "M0 0 A120 120 0 0 1 200 0" }), $(go.Shape, { geometryString: "M0 0 V10" }), $(go.TextBlock, { segmentOffset: new go.Point(0, 12), segmentOrientation: go.Link.OrientAlong }) ) ); diagram.add(gauge); var marker = $(go.Part, "Spot", { locationSpot: go.Spot.Center, selectionAdorned: false }, $(go.Shape, "Circle", { fill: "transparent", strokeWidth: 0, cursor: "pointer" }), $(go.Shape, "Circle", { fill: "red", strokeWidth: 0, width: 8, height: 8 }), { dragComputation: function(node, pt) { var scale = gauge.findObject("SCALE"); var loc = scale.getLocalPoint(pt); var val = scale.graduatedValueForPoint(loc); var gpt = scale.graduatedPointForValue(val); return scale.getDocumentPoint(gpt); } } ); diagram.add(marker); // once everything has been positioned, give the marker its location diagram.addDiagramListener("InitialLayoutCompleted", function(e) { var scale = gauge.findObject("SCALE"); var gpt = scale.graduatedPointForValue(0); marker.location = scale.getDocumentPoint(gpt); });
請注意,出于演示目的,此示例將標記與“量規”零件分開。真正的量規會將標記作為特定值的指示符作為量規的一部分,可以由用戶任意拖動。請參見“ 儀器控件:儀表和儀表”中的一些示例。其他注意事項
默認情況下,只能使用“漸變面板”的主要形狀來拾取面板。與網格面板一樣,background如果需要對整個面板進行拾取,則漸變面板應為非空。您不能設置或綁定帶刻度面板的Panel.itemArray。可以像其他任何GraphObject屬性一樣,在tick Shape和TextBlock標簽上設置和綁定屬性。
diagram.add( $(go.Part, "Graduated", // or "Graduated" { background: "white" }, $(go.Shape, { geometryString: "M0 0 H150", stroke: "blue", strokeWidth: 2 }), $(go.Shape, { geometryString: "M0 0 V20", stroke: "blue", strokeDashArray: [2, 2] }) ));
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: