用 D3 画垂直线(动态数据显示)

Posted

技术标签:

【中文标题】用 D3 画垂直线(动态数据显示)【英文标题】:draw vertical line with D3 ( Dynamic Data Display) 【发布时间】:2015-08-01 15:38:27 【问题描述】:

我正在创建一个 ChartPlotter 并使用 CursorCoordinateGraph 我能够获取 MouseLeftButtonDown 事件的 X 坐标。

    private CursorCoordinateGraph mouseTrack;
    private void OnLoaded(object sender, RoutedEventArgs e)
    
        mouseTrack = new CursorCoordinateGraph();
        firstPlotter.Children.Add(mouseTrack);
    


    private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    
        Point mousePos = mouseTrack.Position;
        var transform = firstPlotter.Viewport.Transform;
        Point mousePosInData = mousePos.ScreenToData(transform);
        double xValue = mousePosInData.X;
    

有没有办法在 xValue 坐标上画一条垂直线?我有点迷失在折线图、线条、垂直线中。。

【问题讨论】:

您应该添加解决方案作为答案,您可以在 2 天内接受。 【参考方案1】:

在 OnMouseLeftButtonDown 中计算 xValue 之后添加这行代码。

VerticalLine vl = new VerticalLine();
vl.Value = xValue;

我假设您想将该行添加到上述绘图仪:

firstPlotter.Children.Add(vl);

您可以对 Horizo​​ntalLine 使用相同的方法。

【讨论】:

以上是关于用 D3 画垂直线(动态数据显示)的主要内容,如果未能解决你的问题,请参考以下文章

前端/h5 D3.js实现根据数据动态更新图形/类似进度实时变化效果

动态数据显示 - 从 ChartPlotter 获取水平和垂直

MFC 动态绘制直线,圆弧段(连续)如何实现

怎么用JAVA动态生成一个表格 ?从数据库读出数据 然后用JSP页面显示出来 形成一个表格

怎么在mfc中画曲线

SWT Canvas绘制动态图的问题