我在我的C#WPF應用程序中使用了一個簡單的ChartPlotter。當我通過鼠標滾動放大/縮小時,兩個軸都會更改。如何通過鼠標滾動來控制縮放,因此它只會影響X軸?DynamicDataDisplay D3:ChartPlotter zoom proplem
1
A
回答
1
此功能已內置於D3中,如果將鼠標懸停在其中一個軸上,並執行鼠標滾輪滾動,縮放僅與您懸停的軸相關。如果你想在你的代碼中複製它,你可以在源代碼中看到它的例子。
0
縮放功能在「MouseNavigation.cs」中實現。 MouseWheel處理程序將調用底層函數:
Viewport.Visible = Viewport.Visible.Zoom(zoomTo, zoomSpeed);
幸運的是,有一個ZoomX函數可以滿足您的需求。 因此只是從你的繪圖儀刪除MouseNavigation,然後再實現自己的如下:
// Remove mouse navigation
plotter.Children.Remove(plotter.MouseNavigation);
// ZoomX when wheeling mouse
private void plotter_MouseWheel(object sender, System.Windows.Input.MouseWheelEventArgs e)
{
if (!e.Handled)
{
Point mousePos = e.GetPosition(this);
Point zoomTo = mousePos.ScreenToViewport(plotter.Viewport.Transform);
double zoomSpeed = Math.Abs(e.Delta/Mouse.MouseWheelDeltaForOneLine);
zoomSpeed *= 1.2;
if (e.Delta < 0)
{
zoomSpeed = 1/zoomSpeed;
}
plotter.Viewport.SetChangeType(ChangeType.Zoom);
plotter.Viewport.Visible = plotter.Viewport.Visible.ZoomX(zoomTo, zoomSpeed);
plotter.Viewport.SetChangeType();
e.Handled = true;
}
}
相關問題
- 1. DynamicDataDisplay ChartPlotter滾動水平軸
- 2. DynamicDataDisplay ChartPlotter刪除所有地塊
- 3. DynamicDataDisplay D3固定軸
- 4. DynamicDataDisplay D3 LineGraph顏色變化
- 5. 命名空間「http://research.microsoft.com/DynamicDataDisplay/1.0
- 6. 在添加d3.behavior.zoom時,.on(「zoom」,zoom),zoom undefined
- 7. WPF C#DynamicDataDisplay - 更改DateTimeAxis顏色
- 8. 如何隱藏D3(DynamicDataDisplay)繪圖儀中的X軸?
- 9. D3 zoom - 無法讀取undefined屬性'apply'
- 10. dynamicdatadisplay(wpf)如何製作字符串標記?
- 11. 選擇上CHARTPLOTTER
- 12. D3 V4 - d3.zoom()防止結合除了在窗口
- 13. Dynamicdatadisplay d3 c#從列表中分別繪製點(點到點)
- 14. React D3:如何在同一張圖表中使用react-d3-tooltip和react-d3-zoom?
- 15. zoom zoom blurred
- 16. W/Programmatic Zoom v4
- 17. Python CSV proplem
- 18. 小菜單proplem
- 19. Cytoscape cyPosition()vs zoom zoom
- 20. 複選框後proplem
- 21. d3.js v4 d3.zoom和縮放或平移後奇怪的元素順序
- 22. highcharts tooltip not zoom after zoom
- 23. d3.js v4編程式Pan + Zoom。怎麼樣?
- 24. d3 zoom:使用觸摸屏時防止頁面縮放
- 25. 是否有可能消除d3.zoom回調?
- 26. MandelbrotSet zoom
- 27. zoom UICollectionView
- 28. MKUserTrackingModeFollowWithHeading,zoom
- 29. JavaScript zoom
- 30. Proplem在div右對齊?
我沒有注意到回答另一個問題之前這一職務。所以如果你需要限制縮放,那麼也許我的回答會有幫助。 http://stackoverflow.com/questions/19927086/dynamicdatadisplay-zoom-and-tooltips-on-realtime-charts-with-syncronous-x-axis/21962113#21962113 –