9

考虑构建 ASP.NET 图表图像的 ASP.NET MVC 控制器方法。

public FileStreamResult MakeImg(IEnumerable<MyObj> stats)
    {
        Chart barchart = BarChart(400, 300);

        Series series1 = new Series("Series1");
        series1.ChartArea = "ca1";            
        series1.ChartType = SeriesChartType.Column;
        series1.IsValueShownAsLabel = true;    
        series1.Font = new Font("Verdana", 9f, FontStyle.Regular);

        barchart.Series.Add(series1);            

        // Set chart data source
        barchart.DataSource = stats;

        // Set series members names for the X and Y values
        barchart.Series["Series1"].XValueMember = "FriendlyDate";
        barchart.Series["Series1"].YValueMembers = "NumRecords";

        // Data bind to the selected data source
        barchart.DataBind();

         MemoryStream ms = new MemoryStream();
         barchart.SaveImage(ms, ChartImageFormat.Png);
         ms.Seek(0, SeekOrigin.Begin);

         return new FileStreamResult(ms, "image/png");
    }

图像以不吸引人的方式呈现:

丑陋的 http://www.imagechicken.com/uploads/1253830647005451400.png

问题:如何以编程方式设置字体:

  • X 和 Y 轴标签 - 即 Y 上的 0 到 35,以及 X 上的日期
  • 数据 - 即 12、0、0、3、6?
4

3 回答 3

13
chart.ChartAreas[0].AxisX.LabelStyle.Font
chart.ChartAreas[0].AxisY.LabelStyle.Font

是您需要为轴设置字体的属性。

于 2009-10-10T16:09:47.483 回答
1

Chart1.ChartAreas[0].AxisX.LabelStyle.Font = new System.Drawing.Font("Verdana", 8f); Chart1.ChartAreas[0].AxisY.LabelStyle.ForeColor = System.Drawing.Color.Red;

于 2016-01-25T14:37:03.507 回答
0

我面临的另一个问题是文本上的锯齿。从 更改.png.jpg成功了!

于 2009-10-13T15:36:45.280 回答