如果要显示列值(或任何数据值)的标记顶部,则需要先创建一个系列,然后对特定系列使用IsValueShownAsLabel=true来显示该值。
您编写上述控制器功能的方式,您将无法显示它,因为 Chart Helper 不支持它。
这是一个示例,说明如果您使用 Series,您可以如何做到这一点。将以下函数添加到您的控制器:
public ActionResult ShowChart()
{
Bitmap image = new Bitmap(500, 50);
Graphics g = Graphics.FromImage(image);
System.Web.UI.DataVisualization.Charting.Chart myChart = new System.Web.UI.DataVisualization.Charting.Chart();
myChart.Width = 600;
myChart.Height = 300;
myChart.ChartAreas.Add("xSeries").BackColor = System.Drawing.Color.FromArgb(64, System.Drawing.Color.White);
// create a couple of series
myChart.Series.Add("xSeries");
// add points to xSeries
myChart.Series["xSeries"].Points.AddY(83);
myChart.Series["xSeries"].Points.AddY(49);
myChart.Series["xSeries"].Points.AddY(94);
myChart.Series["xSeries"].Points.AddY(65);
// add points to ySeries
myChart.Series["xSeries"].IsValueShownAsLabel = true;
myChart.BackColor = Color.Transparent;
MemoryStream imageStream = new MemoryStream();
myChart.SaveImage(imageStream, ChartImageFormat.Png);
myChart.TextAntiAliasingQuality = TextAntiAliasingQuality.SystemDefault;
Response.ContentType = "image/png";
imageStream.WriteTo(Response.OutputStream);
g.Dispose();
image.Dispose();
return null;
}
然后在您看来如下调用它:
<img src="@Url.Action("ShowChart")" alt="MyChart" />