1

縦棒グラフ(地域ごとの合計ポイント)があります。列の上部に実際のポイントを表示したいと思います。これはマーカーと呼ばれていると思いますか?これが私のコードです:

var myChart = new Chart(width: 800, height: 500, theme: myTheme)
.AddTitle("Region Report")
.SetXAxis("Region")
.SetYAxis("Total Points")  
.AddSeries("RegionReport", chartType: "Column",
xValue: Model, xField: "Region",
yValues: Model, yFields: "TotalPoints")
.Write();
4

1 に答える 1

4

列の値 (または任意のデータ値) の上部にマーカーを表示する場合は、最初にシリーズを作成してから、特定のシリーズに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" />
于 2012-06-25T22:59:53.413 に答える