c# - 如何在 winform 上的图表中添加点?
问题描述
我解决了一个模糊建模的问题。
我需要在原始数据上建立一个图表。从 .txt 文件中,我读取了这些值。
图表是这样构建的:
列表中的最小值是 + = 步长所在的步长(最大值减去最小值)/2/2,因为我有 5 个图表。
也就是说,我有3, 3.101, 3.12, 3.15, 3.2, 3.4, 3.45
如果我们说要使用 5 个元素,那么 3.2 就是最大值。我建立在一点上:最小值+ =步!= 最大值。现在如何反映来自数组的点?
(我用谷歌翻译。)
List<double> lsDouble;
step = ((lsDouble[kount - 1] - lsDouble[0]) / 2) /2;
double sumX;
for(int i=0; i<kount;i++)
{
sumX = lsDouble[0];
chart1.Series[i].BorderWidth = 6;
for (int j = 0; j<kount;j++)
{
if (i == j) valY = 1;
else valY = 0;
chart1.Series[i].Points.AddXY(sumX, valY);
sumX += step;
}
}
我有:
我需要得到:
代码:
switch (kount)
{
case 2:
step = (lsDouble[kount - 1] - lsDouble[0]);
break;
case 3:
step = (lsDouble[kount - 1] - lsDouble[0]) / 2;
break;
case 5:
step = ((lsDouble[kount - 1] - lsDouble[0]) / 2) /2;
break;
}
double sumX;
for(int i=0; i<kount;i++)
{
sumX = lsDouble[0];
chart1.Series[i].BorderWidth = 6;
for (int j = 0; j<kount;j++)
{
if (i == j)
valY = 1;
else valY = 0;
chart1.Series[i].Points.AddXY(sumX, valY);
sumX += step;
//if(sumX==lsDouble[kount-1])
// chart1.Series[i].Points.AddXY(sumX, valY);
}
}
解决方案
推荐阅读
- r - UDpipe模型的问题
- javascript - 为什么在处理上传图像时出现“TypeError:无法读取未定义的属性'0'”的错误?
- linux - 在bash中获取匹配行的第一列
- electron - 使用电子生成器构建后,Angular 电子应用程序未加载 index.html 时出现白屏且没有错误
- java - 在 java 编译器中标记行的问题
- python - 在 Python 中返回簇段的平均值
- javascript - 我该如何解决这个错误:SyntaxError: await is only valid in async function
- node.js - Nodejs MSSQL如何同时池化多个数据库
- python-3.x - 有没有办法设置可以放入 python 3 中的一组值?
- javascript - Discord.js 日志记录,如何通过嵌入将问题发送到特定频道?