Vb.net 用vb中的图表绘制不均匀抛物线?
我对visual basic非常陌生。我的程序让您输入参数(数据点的a、b、c、xmin、xmax、ymin、ymax和#)来绘制抛物线。当输入更多数据点时,抛物线看起来很好。问题是如果有4个数据点,抛物线不均匀2个点。我真的很想找到一个解决方案,所以任何指导都将不胜感激 这是我的密码:Vb.net 用vb中的图表绘制不均匀抛物线?,vb.net,Vb.net,我对visual basic非常陌生。我的程序让您输入参数(数据点的a、b、c、xmin、xmax、ymin、ymax和#)来绘制抛物线。当输入更多数据点时,抛物线看起来很好。问题是如果有4个数据点,抛物线不均匀2个点。我真的很想找到一个解决方案,所以任何指导都将不胜感激 这是我的密码: Public Sub FillGraph() myChart.Series(0).Points.Clear() myChart.Series(0).ChartType = _ D
Public Sub FillGraph()
myChart.Series(0).Points.Clear()
myChart.Series(0).ChartType = _
DataVisualization.Charting.SeriesChartType.Line
If IsNumeric(txtxMax.Text) And IsNumeric(txtxMin.Text) And IsNumeric(txtyMax.Text) And IsNumeric(txtyMin.Text) Then
ymin = CDbl(txtyMin.Text)
ymax = CDbl(txtyMax.Text)
xmax = CDbl(txtxMax.Text)
xmin = CDbl(txtxMin.Text)
dataPts = CDbl(txtDataPts.Text)
a = CInt(txtA.Text)
b = CInt(txtB.Text)
c = CInt(txtC.Text)
Dim x As Integer
For x = CInt((-dataPts / 2)) To CInt(dataPts / 2)
myChart.ChartAreas(0).Axes(0).Maximum = xmax
myChart.ChartAreas(0).Axes(0).Minimum = xmin
myChart.ChartAreas(0).Axes(1).Maximum = ymax
myChart.ChartAreas(0).Axes(1).Minimum = ymin
myChart.Series(0).Points.AddXY(x, (a * (x ^ 2)) + (b * x) + c)
Next
End If
End Sub
Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabCtrl.SelectedIndexChanged
If TabCtrl.SelectedIndex = 2 Then
Call FillGraph()
Call FillLbls()
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
myChart.Series(0).Color = Color.Red
myChart.Series(0).BorderWidth = 5
End Sub
您是否询问如何确保用户输入足够的点来绘制平滑的抛物线?想象一下,画一个只有四个点的圆:它是一个正方形,所以四个点是不够的。我的问题是,右边有三个点,左边只有一个点。我希望两边各有两个。我知道这对于y=ax^2的抛物线是可能的,但不是y=ax^2+bx+c。有可能让数据点在任意一侧绘制两个图吗?这并不总是可能的。例如,如果用户想要一个y=x^2但xmin=1和xmax=2的图形,那么图表区域中没有一个最小值可以让您在任意一侧有两个点。(此外,您还可以在循环之前设置
myChart.ChartAreas(0).Axes(0).max
等。)