在实时图表上绘制图片 - WPF - vb.NET

Plot a Picture on a LiveChart - WPF - vb.NET

提问人:Apollo11Mission 提问时间:11/16/2023 最后编辑:AShApollo11Mission 更新时间:11/16/2023 访问量:22

问:

我使用 LiveChart 库绘制了一个图表。 我想添加一个图像,以便:

  • 图像的左上角位于图形的 (0,0) 坐标处
  • 图像的右上角位于图形坐标 (1,0) 处
  • 图像左下角的 (0,-1) 图形坐标
  • 图像的右下角位于图形坐标 (1,-1) 处

坐标 (0,0)、(1,0)、(0,-1)、(1,-1) 是示例。我希望能够根据我给它的坐标,将它放置在图表上我想要的任何位置。

如果放大图形或沿轴移动,则图像应保持在这些坐标处,并根据图形上发生的情况进行扩展/折痕/缩放。

这是绘制图形的脚本的开头。

XAML:

<Window x:Class="MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
        mc:Ignorable="d"
        Title="LiveCharts Example" Height="350" Width="500">
    <Grid>
        <lvc:CartesianChart Name="chart" Background="Transparent">
        </lvc:CartesianChart>

    </Grid>
</Window>

vb(vb.NET 中的脚本,但如果有人能够用 C# 做到这一点,我就可以了):

Imports LiveCharts
Imports LiveCharts.Wpf

Class MainWindow
    Dim series As New SeriesCollection()

    Public Sub New()
        InitializeComponent()

        Dim lineSeries As New LineSeries()
        lineSeries.Values = New ChartValues(Of Double)() From {0, 2, 4, 6, 8, 10, 8, 6, 4, 2, 0, 2, 4, 6, 8, 10, 8, 6, 4, 2, 0, 2, 4, 6, 8, 10}
        series.Add(lineSeries)

        chart.Series = series
        chart.AxisX.Add(New Axis() With {.Title = "Axe X", .MinValue = -10, .MaxValue = 40})
        chart.AxisY.Add(New Axis() With {.Title = "Axe Y", .MinValue = 0, .MaxValue = 10})
    End Sub

End Class
WPF vb.net LiveCharts

评论


答: 暂无答案