我熟悉C#和Winform,但是对Chart控件不熟悉。我使用内置System.Windows.Forms.DataVisualization.Charting.Chart
的VS2013来显示两点的条形图。这里只是代码:
private void Form1_Load(object sender, EventArgs e)
{
Chart c = new Chart();
c.Dock = DockStyle.Fill;
ChartArea a = new ChartArea();
a.AxisX.Minimum = 0;
a.AxisX.Maximum = 4;
a.AxisY.Minimum = 0;
a.AxisY.Maximum = 2;
c.ChartAreas.Add(a);
Series s = new Series();
//*******************
s.Points.AddXY(1, 1);
//s.Points.AddXY(2, 2);
s.Points.AddXY(3, 2);
//*******************
c.Series.Add(s);
this.Controls.Add(c);
}
请注意评论部分,分数(2,2)和(3,2)只是不同的数据,与显示风格无关(我猜? )。所以这种行为看起来很奇怪,到目前为止我还没有找到解决方法继续显示(3,2)像(2,2)。
答案 0 :(得分:1)
您需要添加以下代码才能获得所需的输出:
1]修复轴的间隔,使轴标签和网格线不会改变。
a.AxisX.Interval = 1;
2]修复系列的条宽。您可以使用PixelPointWidth
以像素为单位指定宽度,或在点数中指定PointWidth
。
使用PixelPointWidth
的示例:
s["PixelPointWidth"] = "20";
此外,由于您使用c.Dock = DockStyle.Fill;
将图表填充为整个表单,因此如果缩放表单,固定宽度将不会很好。
您可以使用MinPixelPointWidth
和MaxPixelPointWidth
将范围指定为宽度。
s["MinPixelPointWidth"] = "20";
s["MaxPixelPointWidth"] = "80";
查看此链接以获取有关different chart elements的详细信息。 Technical Reference有关图表控件的详细文档。这对于理解细节可能很长但很重要。