2017-07-26 7 views
1

私はドーナツチャートを表示しようとしているMVCアプリケーションを持っています。その私はあなたが私のコードから見ることができるようにグラフのラベルがチャートMVC System.Web.Helpersドーナツチャートラベルの配置

private static void CreateChart(int width, int height, ArrayList xData, ArrayList yData, string title = "") 
    { 
     string myTheme = @"<Chart BackColor=""Transparent"" AntiAliasing=""All"" > 
           <ChartAreas> 
            <ChartArea Name=""Default"" BackColor=""Transparent""> 
             <AxisY> 
              <LabelStyle ForeColor=""#ffffff"" Font=""Helvetica Neue, 20 px"" /> 
             </AxisY> 
            </ChartArea> 
           </ChartAreas> 
           <Legends> 
            <Legend _Template_=""All"" BackColor=""Transparent"" Font=""Trebuchet MS, 18.25pt, style=Bold"" IsTextAutoFit=""False"" /> 
           </Legends> 
          </Chart>"; 

     new System.Web.Helpers.Chart(width: width, height: height, theme: myTheme) 
      .AddSeries("Default", chartType: "Doughnut", xValue: xData, yValues: yData) 
      .AddTitle(title) 
      .Write("png"); 
    } 

ChartLabelIssue

の外に表示するために取得する方法を見つけることができません除いて、以下のコードを使用して完璧に働いて、私はチャートをテーマ設定していますXMLを使用していますが、ラベルの配置に役立つようなものは見つかりませんでした。

これは、上記のチャート上の問題の多くではないですが、以上の2つのフィールドを表示するときに、ラベルがすべての重複:

ChartOverlappingLables

は、ラベルの位置を変更する方法を誰もが知っていますか?また、なぜチャートのタイトルがすべてあいまいに表示されているのかを示すボーナスポイントですか? :)

答えて

1

オーバーラップを避けるためにカスタムプロパティPieLabelStyleを使用します。あいまいなタイトルについては、あなたのテーマにゴミが多すぎます。それをきれいにする。以下を参照してください:

string myTheme = @"<Chart> 
       <ChartAreas> 
        <ChartArea Name=""Default""> 
        </ChartArea> 
       </ChartAreas> 
       <Series> 
        <Series Name=""Default"" CustomProperties=""PieLabelStyle = Outside"" Label=""Very very long label (#VAL)""></Series> 
       </Series> 
       <Titles> 
        <Title Name=""Default""></Title> 
       </Titles> 
      </Chart>"; 

enter image description here

+1

美しいです!最大ポイント;)おかげでjstreet、あなたは命の恩人です! – Nick

関連する問題