如何在c#中将条形图放置在正确的位置



嗨,我目前正在尝试将条形图与x轴上的数字对齐。如下图所示,图表中的条形图似乎向左或向右对齐。

[网址=http://imageshack.us/photo/my-images/528/stackoverflowexample.png/][IMG=http://img528.imageshack.us/img528/19/stackoverflowexample.png][/IMG][/URL]

使用[URL上传=http://imageshack.us]ImageShack.us[/URL]

我想知道是否有一种方法可以使用代码行使它们直接与数字1、2和3对齐?

我还想知道是否可以将1、2和3改为temperature、vcc和light??

我已经做了一些调查,但无法找到如何纠正这个问题(正如你从我尝试过的注释行代码中看到的那样),这就是为什么我求助于你们。我在下面发布了我的代码(经过轻微修改,它可以在没有变量的任何c#中工作)。

感谢您花时间阅读此

chart1.ChartAreas.Add("area");
//chart1.ChartAreas["area"].AxisX.Minimum = 0;
//chart1.ChartAreas["area"].AxisX.Maximum = 2;
//chart1.ChartAreas["area"].AxisX.Interval = 1;
//chart1.ChartAreas["area"].AxisX.IntervalAutoMode;
chart1.ChartAreas["area"].AxisY.Minimum = 0;
chart1.ChartAreas["area"].AxisY.Maximum = sumLight + 100;
chart1.ChartAreas["area"].AxisY.Interval = 50;
chart1.ChartAreas["area"].AxisY.Title = "Average Value";
//chart1.ChartAreas["area"].AxisX.Title = "Speed (m/s)";
chart1.Series.Add("Temprature");
chart1.Series.Add("VCC");
chart1.Series.Add("Light");
chart1.Series["Temprature"].Color = Color.Red;
chart1.Series["VCC"].Color = Color.Green;
chart1.Series["Light"].Color = Color.Yellow;
chart1.Series["Temprature"].Points.AddXY(1, 78.32);
chart1.Series["VCC"].Points.AddXY(2, 3.92);
chart1.Series["Light"].Points.AddXY(3, 333);
chart1.Series["Temprature"].IsValueShownAsLabel = true;
chart1.Series["VCC"].IsValueShownAsLabel = true;
chart1.Series["Light"].IsValueShownAsLabel = true;
chart1.Legends.Add("legend");
chart1.Titles.Add("Average for Temperature, Light & VCC using timestamp");

chart1.Visible = true;

我想您可能会通过插入空数据点来获得一些结果。所以这个区块:

chart1.Series["Temprature"].Points.AddXY(1, 78.32);
chart1.Series["VCC"].Points.AddXY(2, 3.92);
chart1.Series["Light"].Points.AddXY(3, 333);

应成为

chart1.Series["Temprature"].Points.AddXY(1, 78.32);
chart1.Series["Temprature"].Points.Add(new DataPoint(2,0){IsEmpty=true});
chart1.Series["Temprature"].Points.Add(new DataPoint(3,0){IsEmpty=true});
chart1.Series["VCC"].Points.Add(new DataPoint(1,0){IsEmpty=true});
chart1.Series["VCC"].Points.AddXY(2, 3.92);
chart1.Series["VCC"].Points.Add(new DataPoint(3,0){IsEmpty=true});
chart1.Series["Light"].Points.Add(new DataPoint(1,0){IsEmpty=true});
chart1.Series["Light"].Points.Add(new DataPoint(2,0){IsEmpty=true});
chart1.Series["Light"].Points.AddXY(3, 333);

此外,您可以尝试只使用一个具有3个彩色DataPoints的系列:

chart1.Series[0].Points.AddXY("Temprature", 78.32);
chart1.Series[0].Points[chart1.Series[0].Points.Count - 1].Color = Color.Red;
chart1.Series[0].Points.AddXY("VCC", 3.92);
chart1.Series[0].Points[chart1.Series[0].Points.Count - 1].Color = Color.Green;
chart1.Series[0].Points.AddXY("Light", 333);
chart1.Series[0].Points[chart1.Series[0].Points.Count - 1].Color = Color.Yellow;

最新更新