C#Chart Control为大高度产生了巨大的头衔

时间:2014-03-14 19:05:57

标签: c# asp.net-mvc-3 charts microsoft-chart-controls

我正在使用C#中的图表控件开发几个条形图,其中一个包含一系列~2300个数据点。为了能够正确显示每个数据点的自定义标签,我将图表的高度扩展为10000.但是,它现在为图表生成了相当大的页眉和页脚,如下所示: Huge Title on chart

当我将图表设置为恢复正常高度为500时,标题大小又回归到更合理的状态。如何手动调整标题大小?

这是我的图表属性代码:

Chart chart = new Chart();
chart.Width = 1000;
chart.Height = 10000;
chart.BackColor = Color.FromArgb(211, 223, 240);
chart.BorderlineDashStyle = ChartDashStyle.Solid;
chart.BackGradientStyle = GradientStyle.TopBottom;
chart.BorderlineWidth = 1;
chart.Palette = ChartColorPalette.Bright;
chart.BorderlineColor = Color.FromArgb(26, 59, 105);
chart.RenderType = RenderType.BinaryStreaming;
chart.BorderSkin.SkinStyle = BorderSkinStyle.Emboss;
chart.AntiAliasing = AntiAliasingStyles.All;
chart.TextAntiAliasingQuality = TextAntiAliasingQuality.Normal;
chart.Titles.Add("Hit Rate");
chart.IsSoftShadows = true;

chart.ChartAreas.Add("Left");
chart.ChartAreas["Left"].AxisX.Title = "Market Area";
chart.ChartAreas["Left"].AxisY.Title = "Hit Percentage";

更新:我已将此添加到我的代码中......

chart.ChartAreas["Left"].InnerPlotPosition.X = 5;
chart.ChartAreas["Left"].InnerPlotPosition.Y = 0f;

这有点帮助。另外,我发现导致问题的并不是标题的大小。标题的高度实际上很正常。相反,它是分配给实际图形区域上方图表的所有空白区域。

2 个答案:

答案 0 :(得分:0)

让我们试试这个:

chart.Titles[0].Position.Auto = false;
chart.Titles[0].Position.Width = 60; //change the size you want

auto = false表示您手动计算位置。我认为默认情况下,标题的宽度是图表的50%和50%。

答案 1 :(得分:0)

不要手动设置图表的高度和宽度,而不是根据内容自动设置并设置如下:

chart.ChartAreas[0].AxisX.Interval = 1;
chart.ChartAreas[0].AxisY.Interval = 1;

(这里我选择图表区域0,根据您的代码进行更改)

添加上述代码时,请勿设置图表的高度和宽度。 如有问题,请告诉我