如何解决VB .NET快速折线图在绘图数据的左侧和右侧显示较大的空白区域
在所示的示例中,在绘图数据的150个点的左侧和右侧有150个x轴不需要的空间点(中间)。仅使用了图表的1/3。
我为24个函数(即水平线)中的每一个绘制了150个点,但是图形x轴的宽度为450点,在绘制的150个点的左侧和右侧分别有150个空的x轴点。
目标是使用所有x轴显示150个绘图点。
我尝试设置AxisX.IntervalAutoMode。固定和可变,但这只会更改x轴显示的数字,而不会更改绘制的数据。
这是绘制的子例程........
' Erase previous chart:
if IS_CHART_PER_FREQ
For f = first_freq_index to end_freq_index ''''''''''' F R E Q R A N G E '''''''''''''''''''
Me.Chart_antenna_window.Series( present_series_name & "_I" & f ).Points.clear()
Me.Chart_antenna_window.Series( present_series_name & "_Q" & f ).Points.clear()
next
End If
. . .
' Plot all the points in Zoom window for a graph in multiple or scatterframe mode.
Sub plot_zoom_samples( initial_zoom_index,final_zoom_index )
dim zoom_sample_index as integer
dim zoom_freq_index as integer
dim sample_X as integer
IF present_graph_mode = "SCATTER OF MULTIPLE FRAMES"
' For each frame of a multiple frame mode window:
for zoom_sample_index = initial_zoom_index to final_zoom_index
sample_X = graph_sample_X( zoom_sample_index )
' For scatter graph,plot point's x,y is I,Q:
Me.Chart_antenna_window.Series( present_series_name & "_I" & zoom_freq_index).Points.AddXY( graph_sample_I( zoom_sample_index ),graph_sample_Q( zoom_sample_index ))
zoom_freq_index += 1
' Wraparound after frame's set of freqs: ie. Done with all frame's freqs?
if zoom_freq_index = std.freqs_per_frame
zoom_freq_index = 0 ' first freq of next frame
End If
' Track X-axis min and max,for display of X-axis spread:
IF sample_X < minimum_sample_X
minimum_sample_X = sample_X
End If
IF sample_X > maximum_sample_X
maximum_sample_X = sample_X
End If
next
ELSE ' NON-SCATTER,IE. MULTIPLE FRAME MODE:
' For each frame of a multiple frame mode window:
for zoom_sample_index = initial_zoom_index to final_zoom_index
sample_X = graph_sample_X( zoom_sample_index )
' Plot sample for each freq at same x-axis sample point:
' For all graphs other than scatter,their is I plot point and Q plot point,both: x,y is sampling index (ie. frame index),I | Q:
Me.Chart_antenna_window.Series( present_series_name & "_I" & zoom_freq_index).Points.AddXY( sample_X,graph_sample_I( zoom_sample_index ))
Me.Chart_antenna_window.Series( present_series_name & "_Q" & zoom_freq_index).Points.AddXY( sample_X,for display of X-axis spread:
IF sample_X < minimum_sample_X
minimum_sample_X = sample_X
End If
IF sample_X > maximum_sample_X
maximum_sample_X = sample_X
End If
next
END IF
End sub
解决方法
我忘了这样做:...
Me.Chart_antenna_window.ChartAreas(“ ChartArea1”)。AxisX.Maximum = maximum_sample_X
Me.Chart_antenna_window.ChartAreas(“ ChartArea1”)。AxisX.Minimum = minimum_sample_X
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。