[英]How To Make A Multiline Data Label In A Bar Chart?
這似乎是一個容易解決的問題但我無法解決它。 基本上,我在html網頁上有一個條形圖。 使用System.Web.UI.DataVisualization.Charting創建圖表。 我想要做的是改變標簽的外觀。 我的標簽看起來如何:“M:312 A:321 S:432”。 我想做的是讓它們彼此疊加,而不是並排。 所以“M:......”將是第一線,然后是其他線。 所以共有三行。 無論如何我能做到嗎?
碼:
Chart1.Visible = true;
DataTableReader datareader = table.CreateDataReader();
Chart1.DataBindCrossTable(datareader, "FunctionGroup", "Date", "AverageGrading", "");
Chart1.Legends.Add("Legend");
Chart1.ChartAreas[0].AxisX.Title = "Period of feedback";
Chart1.ChartAreas[0].AxisY.Title = "Average grade";
Chart1.Legends[0].Enabled = true;
Chart1.Legends[0].BackColor = System.Drawing.Color.Transparent;
Chart1.Width = 1000;
Chart1.Height = 600;
ArrayList listOfStDev = new ArrayList();
ArrayList listOfMed = new ArrayList();
foreach (DateTime date in listofdates)
{
listOfStDev.Add(dbmanager.GetStdDevAppraisalForFunction(section, functionlist, date, questionID));
listOfMed.Add(GetMedianFunctionViaSectionCount(section, functionlist, date, questionID));
}
for (int i = 0; i < Chart1.Series.Count; i++)
{
for (int k = 0; k < Chart1.Series[i].Points.Count; k++)
{
Chart1.Series[i].Points[k].Label = "A: " + "#VALY" + " S: " + Convert.ToDouble(listOfStDev[k]).ToString("F") + " M: " + Convert.ToDouble(listOfMed[k]).ToString();
}
}
嘗試這個:
<asp:Chart ID="Chart1" runat="server">
<Series>
<asp:Series Name="Series1" Label="A: #VAL\nS: #VALX\nM: #INDEX">
<Points>
<asp:DataPoint XValue="1" YValues="10" />
<asp:DataPoint XValue="2" YValues="20" />
<asp:DataPoint XValue="3" YValues="30" />
</Points>
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
<AxisY>
<MajorGrid LineColor="DarkGray" LineDashStyle="Dot" />
</AxisY>
<AxisX>
<MajorGrid LineColor="DarkGray" LineDashStyle="Dot" />
</AxisX>
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.