[英]How do I put percent in a y-axis label with chart helper
我想以百分比顯示y軸標簽。
public Series CreateSeries(DateTime dataIni, DateTime dataFim, int idLista, SeriesChartType chartType)
{
Series seriesDetail = new Series();
seriesDetail.Name = "Setores";
seriesDetail.IsValueShownAsLabel = true;
seriesDetail.IsVisibleInLegend = true;
seriesDetail.Color = Color.FromArgb(198, 99, 99);
seriesDetail.ChartType = chartType;
seriesDetail.BorderWidth = 2;
DataPoint point;
var monitoramentos = ObterMonitoramentosProgramaSol(dataIni, dataFim, idLista);
List<GraficoProgramaSol> dados = new List<GraficoProgramaSol>();
foreach (var item in monitoramentos)
{
var comportamental = item.ListaItensVerificados.Where(w => w.Item.Subgrupo.Nome == EnumTipoSubgrupo.COMPORTAMENTAL.ToString());
dados.Add(new GraficoProgramaSol
{
Setor = item.Setor.Descricao,
NotaFinalSetor = (comportamental.Sum(s => s.Valor) + item.ListaItensVerificados.Sum(s => s.Valor)) * 100 / (comportamental.Sum(s => s.MaiorDisponivel()) + item.ListaItensVerificados.Sum(s => s.MaiorDisponivel()))
});
foreach (var item2 in dados.Where(i => i.Setor == item.Setor.Descricao).ToList())
{
point = new DataPoint();
point.AxisLabel = item2.Setor;
point.LabelFormat = "P";
point.YValues = new double[] {item2.NotaFinalSetor};
seriesDetail.Points.Add(point);
}
}
seriesDetail.ChartArea = "Result Chart";
return seriesDetail;
}
我獲得了帶有屬性LabelForma="P"
百分比,但實際數字不正確。 我得到了這種格式8.700.00%的東西。 我想要81%的東西。 有人能幫我嗎?
您要查找的關鍵字不是一種格式,而是一種表達式 : #PERCENT
以下示例顯示了如何在該數據點的頂部和沿x軸顯示每個數據點的值及其百分比。 不過,沿y軸顯示百分比是沒有意義的。
該代碼從頭開始創建了一個柱形圖,包括一些隨機值。 數據點的Y值總計為517,btw。
private void button1_Click(object sender, EventArgs e)
{
chart1.Series.Clear();
Series S = chart1.Series.Add("S1");
S.ChartType = SeriesChartType.Column;
Random R = new Random(123);
int sum = 0;
for (int m = 1; m <= 10; m++)
{
int yval = R.Next(100);
int p = S.Points.AddXY(m, yval);
S.Points[p].Label = "#VAL \n #PERCENT";
S.Points[p].AxisLabel = "#VAL \n #PERCENT"; // <-- !!
sum += yval;
}
chart1.ChartAreas[0].AxisX.Maximum = S.Points.Count;
chart1.ChartAreas[0].AxisX.Minimum = 0;
chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false;
button1.Text = sum + " total";
}
希望您可以將其轉換為代碼。.遇到問題時,請隨時提問!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.