- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的 Windows 窗体中有一个 MSCHart 控件,用 C# 编码。基本上我有一组数据来填充图表。我需要用这些做以下事情:
1) 在 10 秒帧内阅读图表2) 在每 10 秒的帧中,我需要每秒从我的数组中绘制 170 个数据项。这将持续到最后。
抱歉,我知道这听起来有点冗长,但我已尽力实现它,但我得到的结果只是失败。
如果有人能帮我解释一下,我将不胜感激。
这是我到目前为止所做的一个片段
#region SetupChart()
public bool SetupChart()
{
try
{
//Here is where I create the chart scale to show frames of 10 secs
this.view.chart.ChartAreas[0].AxisX.ScaleView.Size = 10;
return true;
}
catch { return false; }
}
#endregion
#region Draw()
public bool Draw()
{
try
{
view.Data = this.dllCall.GetData(1);
int startSecond = 0;
foreach (Int16 item in view.Data)
{
//Here is where I read each element from my array, unsure how to plot 170 per second :S
this.view.chart.Series["MySeries"].Points.AddXY(startSecond, item);
startSecond++;
}
return true;
}
catch (Exception ex)
{
this.ErrorMessage = ex.Message;
return false;
}
}
正如您从我上面的代码中看到的那样,我已经让图表在开始时以 10 秒的帧显示,但是在设计 View 中,滚动条没有出现在我的图表下方,我不知道如何实现滚动条显示下一个 10 秒帧,目前当我点击滚动时它以 1 秒为步长滚动,所以在开始时它是 0 - 10,点击滚动,它是 1 - 11。我想要它所以当我点击滚动它会从 0-10 到 10-20。
我提到的另一个问题是每秒显示 170 个数据样本,
如果有人可以在我自己的基础上向我展示示例代码,以向我展示如何实现这一点,我将不胜感激,在此先感谢您!
最佳答案
我认为 cheedep 的评论是正确的。这是我将如何修改您的代码来做到这一点。您需要将 AxisScrollBarClicked 事件连接到您的图表。
#region SetupChart()
public bool SetupChart()
{
try
{
//Here is where I create the chart scale to show 170 data points
this.view.chart.ChartAreas[0].AxisX.ScaleView.Size = 170;
return true;
}
catch { return false; }
}
#endregion
#region Draw()
public bool Draw()
{
try
{
view.Data = this.dllCall.GetData(1);
int startSecond = 0;
foreach (Int16 item in view.Data)
{
this.view.chart.Series["MySeries"].Points.AddXY(startSecond, item);
startSecond++;
}
return true;
}
catch (Exception ex)
{
this.ErrorMessage = ex.Message;
return false;
}
}
private void chart_AxisScrollBarClicked(object sender, System.Windows.Forms.DataVisualization.Charting.ScrollBarEventArgs e)
{
if (e.Axis == chart.ChartAreas[0].AxisX)
{
if (e.ButtonType == System.Windows.Forms.DataVisualization.Charting.ScrollBarButtonType.SmallIncrement)
chart.ChartAreas[0].AxisX.ScaleView.Position += 170;
else if (e.ButtonType == System.Windows.Forms.DataVisualization.Charting.ScrollBarButtonType.SmallDecrement)
chart.ChartAreas[0].AxisX.ScaleView.Position -= 170;
}
}
关于c# - MSChart滚动条实现+绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5093137/
我用过 MSChart Control在我的一个 VB.NET项目。我决定在饼图中显示如下表所示的数据。 但是标签相互重叠以摆脱它我试过“智能标签 ”属性如下图。 Chart1.Series("Def
如何格式化图表标签? 我只需要看一下后面的2位数字即可。 我尝试chart.ChartAreas.First().AxisY.LabelStyle.Format = "#.##";和0.00 我也尝试
我正在尝试并排创建两个共享同一轴的饼图。有没有人有使用 MSChart 完成此操作的代码示例? 我想要实现的示例: 到目前为止,这是我的代码: Chart chart = new Ch
谁能告诉我如何在 MSChart 上显示 Total Collection 最佳答案 您可以使用 chart.Annotations 属性来获得类似的结果。 例如使用以下代码(位于填充图表之后): v
我有一个带注释的 MSChart,图表区域很大,因此使用老式 800x600 的人可以看到图表。 问题是,当我在这种低分辨率下查看图表时,其中的注释会随着图表缩小,并开始切断最后几个字母。 例如,普通
如何从一个点缩放例如从点 300 到 500 axisX 和 50 到 100 AxisY 逐步缩放 当前位置 private void chart1_MouseClick(object sender
我有一个带有虚线的系列: tmpChart.Series["function"].BorderDashStyle = ChartDashStyle.Dash; 但是我怎样才能改变破折号之间的间距呢?
默认情况下,极坐标图上的角度按顺时针方向从 0 到 360,但我希望它们逆时针(逆时针) chart.ChartAreas[0].AxisX.Title = "Elevation"; chart.Ch
如何在图表中显示每个柱的轴线?我只有第二个,第四个......, alt text http://img35.imageshack.us/img35/6106/chartiu.png 最佳答案 我找到
我在 VS2010 中有一个带有简单折线图的 Windows 窗体项目。 数据是动态的,始终介于 1.4000 和 1.5000 之间。 我希望 Y 轴的网格线/标签始终显示在每个 #.##20 数据
我在互联网的某个地方找到了这段代码 private void PopulateChart() { int elements = 500; Random
您好,我正在尝试从 sql 填充 mschart,但即使系列具有不同的值,图表也是相同的。所以所有系列都有相同的线相互重叠。 sqlConnection.Open();
这一定是一个愚蠢的问题,但我有点陷入其中。我需要使用 c# 为 Web 应用程序在 mschart 上显示 6000 多条记录。但他的问题是它没有空格显示,但这是 Not Acceptable ,因为
MSChart 没有填满整个图表区域,我尝试使用示例 ( Why Doesn't MSChart Fill Entire Chart Area? ) 但它不起作用 我正在使用下面的代码 volum
我正在尝试在 MSChart 中绘制两个数据系列。我正在使用两个轴,但我希望网格线和刻度线对齐。 这是我现在拥有的一个例子:http://i.imgur.com/w5OvX.png (原谅色差) 如您
我正在使用 MSCharts 并为坐标轴使用日期,但不禁注意到最后一条网格线的坐标轴标签是隐藏的。下图显示了这一点。 我为此使用的代码是: Public Function buildXAxis(ByV
我正在尝试使用 C# 中的 MSChart 渲染折线图,并采用虚线样式。我设置样式没有问题,但我有大量数据。这会导致虚线渲染出错,因为它似乎在绘制每个线段时重新启动“虚线”序列。因此,我得到一条看起来
如何在运行时创建注释以及如何使用 Annotation.BeginPlacement() 启用最终用户放置?我试过以多种方式做到这一点,但无法让它发挥作用。在调用 BeginPlacement() 后
我在 Winform 中绘制的 MSChart 有几个问题。 我无法在图表右侧显示轴 Y2 值,这应该是默认值 - 类似于此 question 带状线不会绘制,并且 是否可以将轴 Y1 和 Y2 的零
我想自定义下面数据点上的标签,以便它们呈现为(以图表上的第一个数据点为例): 4:10 - 4:40黄色类 最佳答案 Datapoint 有一个可以编程设置的标签属性: DataPoint dp =
我是一名优秀的程序员,十分优秀!