使用oxyplot在表格上绘制图表(vb.net)

时间:2016-01-24 20:51:07

标签: vb.net winforms oxyplot

我需要为我正在处理的项目绘制一些图表,目前我正在尝试使用oxyplot库在Windows窗体上绘制图形。我现在写的代码是:

Dim Graph As OxyPlot.PlotModel = New OxyPlot.PlotModel
    Graph.Title = "Test"
    Dim s1 As OxyPlot.Series.LineSeries
    s1.Points.Add(New OxyPlot.DataPoint(2, 7))
    s1.Points.Add(New OxyPlot.DataPoint(7, 9))
    s1.Points.Add(New OxyPlot.DataPoint(9, 4))

    Graph.Series.Add(s1)


End Sub

我不知道如何从这里开始实际绘制表格上的图表。还有任何关于专门为vb.net绘制的绘图的氧气图文档,因为我似乎唯一能找到的是c#

1 个答案:

答案 0 :(得分:0)

我也在努力寻找在VB.NET中在Windows窗体上实现Oxyplot的方法。

最简单的方法仍然是通过工具箱将图表添加到Windows窗体。为此,您必须首先将Oxyplot控件添加到工具箱(例如,工具>选择工具箱项...),然后在.NET组件选项卡上浏览并找到项目bin文件夹中的OxyPlot.WindowsForms.dll。 这个步骤对我来说已经失败了很长时间,因为在dll中找不到任何控件,但我在卸载Oxyplot包并将它们放回后实现了它。 完成后,您应该能够通过拖放从工具箱中在表单上添加新的“PlotView1”PlotView实例。放置它,调整大小,按照你想要的方式设置它。

然后在 Form1.Designer.vb 上,我在“Plotview1”和“Form1”块之间的InitializeComponent()子上添加了几行来添加你的系列并显示一些东西:

Private Sub InitializeComponent()
    Me.PlotView1 = New OxyPlot.WindowsForms.PlotView()
    Me.SuspendLayout()
    '
    'PlotView1
    '
    Me.PlotView1.Location = New System.Drawing.Point(12, 12)
    Me.PlotView1.Name = "PlotView1"
    Me.PlotView1.PanCursor = System.Windows.Forms.Cursors.Hand
    Me.PlotView1.Size = New System.Drawing.Size(260, 238)
    Me.PlotView1.TabIndex = 0
    Me.PlotView1.Text = "PlotView1"
    Me.PlotView1.ZoomHorizontalCursor = System.Windows.Forms.Cursors.SizeWE
    Me.PlotView1.ZoomRectangleCursor = System.Windows.Forms.Cursors.SizeNWSE
    Me.PlotView1.ZoomVerticalCursor = System.Windows.Forms.Cursors.SizeNS

    '
    'Sample Series
    '
    plotmod.Title = "Test"
    s1.Points.Add(New OxyPlot.DataPoint(2, 7))
    s1.Points.Add(New OxyPlot.DataPoint(7, 9))
    s1.Points.Add(New OxyPlot.DataPoint(9, 4))
    plotmod.Series.Add(s1)
    Me.PlotView1.Model = plotmod

    '
    'Form1
    '
    Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
    Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
    Me.ClientSize = New System.Drawing.Size(284, 262)
    Me.Controls.Add(Me.PlotView1)
    Me.Name = "Form1"
    Me.Text = "Window"
    Me.ResumeLayout(False)

End Sub

由于我不是一名普通的程序员,我希望有更合适的方法来编写这个样本。