代码之家  ›  专栏  ›  技术社区  ›  p.campbell

ASP.NET图表:在X和Y轴上设置字体

  •  9
  • p.campbell  · 技术社区  · 15 年前

    考虑使用一个ASP.NET MVC控制器方法来构建ASP.NET图表图像。

    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");
        }
    

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

    fugly http://www.imagechicken.com/uploads/1253830647005451400.png

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

    • X和Y轴标签-即Y轴上的0到35,X轴上的日期
    • 数据-即12、0、0、3、6?
    3 回复  |  直到 8 年前
        1
  •  13
  •   Mike Brind    15 年前
    chart.ChartAreas[0].AxisX.LabelStyle.Font
    chart.ChartAreas[0].AxisY.LabelStyle.Font
    

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

        2
  •  1
  •   user5588392    8 年前

    chart1.chartAreas[0].axisx.labelstyle.font=new system.drawing.font(“verdana”,8f); chart1.chartAreas[0].axisy.labelstyle.forecolor=system.drawing.color.red;

        3
  •  0
  •   p.campbell    15 年前

    我面临的另一个问题是文本中的锯齿。从变化 .png .jpg 做了这个把戏!