我正在尝试使用 ASP.Net Chart 控件制作图表,该控件在 X 轴上具有特定的数值,在 Y 轴上具有频率计数。这是我要替换的图表框架的示例:
在上面的示例中,X 轴标签与列对齐。但是,使用 ASP.Net 图表控件,控件不是标记代表这些特定值的列(例如 1492、2984),而是按四舍五入的间隔进行标记,而不是尽可能与列(例如 2000、4000)对齐见下文:
我发现其他类似的帖子建议将其设置ChartArea.AxisX.Interval
为 1。我试过了,但是 X 轴标签由于某种原因消失了,如下所示:
这是我用来创建和填充图表的代码(减去设置各种颜色属性):
DataTable newDt = GetChartDataTable();
chart.DataSource = newDt;
chart.Series.Add("Series1");
chart.Series["Series1"].YValueMembers = "Frequency";
chart.Series["Series1"].XValueMember = "RoundedValue";
chart.ChartAreas["ChartArea1"].AxisX.Title = "kbps";
chart.ChartAreas["ChartArea1"].AxisX.TitleFont = new Font("Sans Serif", 10, FontStyle.Bold);
chart.ChartAreas["ChartArea1"].AxisY.Title = "Frequency";
chart.ChartAreas["ChartArea1"].AxisY.TitleFont = new Font("Sans Serif", 10, FontStyle.Bold);
chart.Titles["Title1"].Text = chartTitle;
chart.Titles["Title1"].Font = new Font("Sans Serif", 10, FontStyle.Bold);
chart.Series["Series1"].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Column;
chart.Series["Series1"]["ShowMarkerLines"] = "True";
chart.DataBind();