我需要翻译的内容如下:
您可以在X轴上看到电压值,在Y轴上看到电流值。我知道为了使它们更好,我需要将它们乘以一个更大的数字,也许还要乘以倒数或其他什么数。但我仍然不知道如何在我的picturebox上表示它们。这些点通常从第三象限开始,最后落在第一象限。请协助!
另外,我的X轴最小值和最大值分别为-2V和+2V,对于Y轴,我会有-10uA到+10uA(即10*10^-6)。
编辑:
我正在尝试制作这样的曲线,所以我拥有的这些点将用于Graphics.DrawCurve:
更新:
这是我的代码长这样:
我的问题更多是数学方面的!我有一些值对,它们代表了一个曲线上的点,我想使用fromImage(Bitmap)在picturebox上绘制这些点。我的图片框大小为500x500。我也知道左上角的点是(0,0),右下角的点是(500,500)。显然,原点应该是(250,250)。现在我想知道如何将我的值转换为这种格式?
我有一个样本点,像这样:
Voltage: -0.175 Current: -9.930625E-06
Voltage: -0.171875 Current: -9.53375E-06
Voltage: -0.16875 Current: -9.136875E-06
Voltage: -0.16875 Current: -8.74E-06
Voltage: -0.165625 Current: -8.343125E-06
Voltage: -0.1625 Current: -7.94625E-06
Voltage: -0.1625 Current: -7.549375E-06
Voltage: -0.159375 Current: -7.152188E-06
Voltage: -0.15625 Current: -6.755312E-06
您可以在X轴上看到电压值,在Y轴上看到电流值。我知道为了使它们更好,我需要将它们乘以一个更大的数字,也许还要乘以倒数或其他什么数。但我仍然不知道如何在我的picturebox上表示它们。这些点通常从第三象限开始,最后落在第一象限。请协助!
另外,我的X轴最小值和最大值分别为-2V和+2V,对于Y轴,我会有-10uA到+10uA(即10*10^-6)。
编辑:
我正在尝试制作这样的曲线,所以我拥有的这些点将用于Graphics.DrawCurve:
更新:
这是我的代码长这样:
g.DrawLine(penAxis, 250, 0, 250, 500); // Y AXIS
g.DrawLine(penAxis, 0, 250, 500, 250); // X AXIS
PointF[] p = new PointF[pinData.GetLength(0)]; //pinData is AboutBoxForm double[,] array
for (int i = 0; i < pinData.GetLength(0); i++)
{
p[i] = new PointF(250 * ((1 + (float)pinData[i, 0]) / 2), 250 * ((1 + (float)pinData[i, 1] )/ 10));
}
Pen pengraph = new Pen(pinColor, 2.0F);
g.DrawCurve(pengraph, p);
进度更新
现在使用以下代码,我的曲线看起来像这样:
g.DrawLine(penAxis, 250, 0, 250, 500); // Y AXIS
g.DrawLine(penAxis, 0, 250, 500, 250); // X AXIS
PointF[] p = new PointF[pinData.GetLength(0)]; //pinData is AboutBoxForm double[,] array
for (int i = 0; i < pinData.GetLength(0); i++)
{
p[i] = new PointF(250 * (1 - ((float)pinData[i, 1] *100000) / 10), 250 * (1 + (((float)pinData[i, 0]))/ 2));
}
Pen pengraph = new Pen(pinColor, 2.0F);
g.DrawCurve(pengraph, p);
我认为现在的问题是如何扩展它。已解决,我必须乘以10^6,但我使用了^5,现在没问题了!!!谢谢大家。