我想制作即时充电时间图,但图表没有显示任何内容。
我做错了什么?
这是我输出的代码和快照:
namespace WindowsFormsApplication21
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
double max = 24000000, min = 23999999.85;
chart1.ChartAreas.Add("0");
chart1.ChartAreas[0].AxisY.Minimum = min;
chart1.ChartAreas[0].AxisY.Maximum = max;
chart1.Series[0].Color = Color.Red;
}
private void button1_Click(object sender, EventArgs e)
{
double[] q = new double[10];
for (int i = 0; i < q.Length; i++)
{
int t = i + 1;
q[i] = (24 * Math.Pow(10, 6)) * Math.Exp(t / (2000 * Math.Pow(10,6)));
chart1.Series[0].Points.AddXY(t, q[i]);
}
}
}
}
这是我的输出
答案 0 :(得分:0)
正如您所看到的,您的数据根本不适合这些值;所有都超过24M,这是你显示的最大值。
您不应该尝试对这些值进行硬编码。他们今天可能会工作,并停止使用下一组数据。
以下是在代码中设置它们的方法,在添加DataPoints
之后
ChartArea CA = chart1.ChartAreas[0];
Series S1 = chart1.Series[0];
CA.AxisY.Maximum = S1.Points.Max(x => x.YValues[0]);
CA.AxisY.Minimum = S1.Points.Min(x => x.YValues[0]);
CA.AxisY.LabelStyle.Format = "###,###,###,##0.000";
(我的系统显示德语本地化的小数点。)