我有一個Power BI散點圖可視化,我想添加d3縮放和平移。我已經看到了使用d3添加縮放和平移的各種簡單示例,但是它們都不是Power BI特有的。它們都是html示例,我無法將它們翻譯成Power BI typescript visual。我不確定示例的哪些部分應該放在哪裏。例如,什麼 (如果有的話)應該在構造函數區域與代碼的更新區域進行比較。如何將d3縮放和平移添加到Power BI可視化中?
我的構造函數:
constructor(options: VisualConstructorOptions) {
this.host = options.host;
this.selectionManager = options.host.createSelectionManager();
this.tooltipServiceWrapper = createTooltipServiceWrapper(this.host.tooltipService, options.element);
let svg = this.svg = d3.select(options.element)
.append('svg')
.classed('scatterChart', true);
this.plotContainer = svg.append('g')
.classed('plotContainer', true);
this.xAxis = svg.append('g')
.classed('xAxis', true);
this.yAxis = svg.append('g')
.classed('yAxis', true);
}
我想我需要變焦配合要麼this.svg
或this.plotContainer
。但是,假設我願意,我應該在構造函數中執行還是稍後在代碼中執行...在更新區域中?我主要是在更新區域嘗試它,因爲我的數字縮放將由一個活動事件觸發,這就是通常解決這些問題的地方。
當我試圖在各種實例打好,與在那裏我認爲他們應該是所有部分,編譯器總是扼流圈的功能:
function zoomed() {
this.plotContainer.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")");
}
它不喜歡d3.event.translate
或d3.event.scale
。
我真的很迷茫,絕對可以使用你的幫助!