我在ASP.NET和C#中有一个图表。每当我将图表图例样式作为行时,它会切断额外的标签并显示三个点" ..."
有没有办法解决这个问题,或者在不改变图表宽度的情况下使图例宽度更大?
以下是我的图表代码:
<asp:chart id="crtMain" runat="server" Height="700" Width="700">
<titles>
<asp:Title ShadowOffset="3" Name="Default" />
</titles>
<legends>
<asp:Legend Alignment="Center" Docking="Bottom" IsTextAutoFit="False" Name="Default" LegendStyle="Row" />
</legends>
<series>
<asp:Series Name="Default" />
</series>
<chartareas>
<asp:ChartArea Name="crtArea" BorderWidth="0" />
</chartareas>
</asp:chart>
背后的代码:
crtMain.Series["Default"].ChartType = SeriesChartType.Pie;
crtMain.Series["Default"].IsValueShownAsLabel = true;
crtMain.ChartAreas["crtArea"].AxisY.LabelStyle.Format = "c";
crtMain.Series["Default"].LabelFormat = "c";
crtMain.ChartAreas["crtArea"].AxisX.LabelStyle.Font = new System.Drawing.Font("Arial", 15F, System.Drawing.FontStyle.Bold);
crtMain.ChartAreas["crtArea"].AxisY.LabelStyle.Font = new System.Drawing.Font("Trebuchet MS", 15F, System.Drawing.FontStyle.Bold);
crtMain.Series["Default"].Font = new System.Drawing.Font("Trebuchet MS", 15F, System.Drawing.FontStyle.Bold);
crtMain.Legends["Default"].Font = new System.Drawing.Font("Trebuchet MS", 14F, System.Drawing.FontStyle.Bold);
crtMain.Legends[0].Enabled = true;
问题图片:
这是来自图表:
有什么想法吗? 提前谢谢!
答案 0 :(得分:2)
更新: 所以我想出了如何做到这一点。
我只是简单地输入代码:
crtMain.Legends["Default"].IsTextAutoFit = true;
crtMain.Legends["Default"].MaximumAutoSize = 100;
这扩展了所有文本,因此我可以看到每个标签。
希望这将有助于将来的人。