Wis*_*_c_ 4 c# mschart winforms
请理解我知道有关于这个问题的其他线索,但我的需求是不同的.
基本上在我看到人们说用MSChart实现滚动条之前,他们使用了
.Size = ...
要么
.View = ...
但是,这会使滚动条自动显示,并且此滚动条包含一个按钮,单击该按钮会导致条形图消失,使图表显示所有数据,并且无法在不重新启动应用程序的情况下将滚动条带回图表.
所以我请问,有没有办法在我的图表的X轴上包含水平滚动条?我需要这样我可以在100秒块的块上查看我的图表数据.
即0 - 100,然后单击滚动条将带我到100 - 200块.
提前谢谢你们!!!!! 我也用C#编码
dig*_*All 25
以下是您需要的示例:(
尝试它,只需创建一个表单,添加一个mschart并调用以下方法)
private void FillChart()
{
int blockSize = 100;
// generates random data (i.e. 30 * blockSize random numbers)
Random rand = new Random();
var valuesArray = Enumerable.Range(0, blockSize * 30).Select(x => rand.Next(1, 10)).ToArray();
// clear the chart
chart1.Series.Clear();
// fill the chart
var series = chart1.Series.Add("My Series");
series.ChartType = SeriesChartType.Line;
series.XValueType = ChartValueType.Int32;
for (int i = 0; i < valuesArray.Length; i++)
series.Points.AddXY(i, valuesArray[i]);
var chartArea = chart1.ChartAreas[series.ChartArea];
// set view range to [0,max]
chartArea.AxisX.Minimum = 0;
chartArea.AxisX.Maximum = valuesArray.Length;
// enable autoscroll
chartArea.CursorX.AutoScroll = true;
// let's zoom to [0,blockSize] (e.g. [0,100])
chartArea.AxisX.ScaleView.Zoomable = true;
chartArea.AxisX.ScaleView.SizeType = DateTimeIntervalType.Number;
int position = 0;
int size = blockSize;
chartArea.AxisX.ScaleView.Zoom(position, size);
// disable zoom-reset button (only scrollbar's arrows are available)
chartArea.AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.SmallScroll;
// set scrollbar small change to blockSize (e.g. 100)
chartArea.AxisX.ScaleView.SmallScrollSize = blockSize;
}
Run Code Online (Sandbox Code Playgroud)
快照:

| 归档时间: |
|
| 查看次数: |
31891 次 |
| 最近记录: |