C# 如何使用图表辅助工具在y轴标签中放置百分比
我想以百分比显示y轴标签C# 如何使用图表辅助工具在y轴标签中放置百分比,c#,winforms,charts,label,C#,Winforms,Charts,Label,我想以百分比显示y轴标签 public Series CreateSeries(DateTime dataIni, DateTime dataFim, int idLista, SeriesChartType chartType) { Series seriesDetail = new Series(); seriesDetail.Name = "Setores"; seriesDetail.IsValueShownAsLabel =
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%左右。
有人能帮我吗?你要找的与其说是一种格式,不如说是一个表达式:百分比
下面是一个示例,演示如何在点顶部和沿x轴显示每个数据点的值及其百分比。但是,沿y轴显示百分比没有意义
代码从头开始创建一个柱状图,包括一些随机值。顺便说一句,数据点的Y值总计为517
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";
}
我希望你能把它翻译成你的代码。。遇到问题时,请随时提问 Val是每个数据点的Y值。百分比是点对整个地震“点”y值的百分比。请注意,我的示例的总和不是100,而是517。太棒了!我不知道。我在代码中实现百分比表达式时遇到了一些困难。我必须从4个不同的值中取百分比。我已经这样做了Sums=>s.Valor+Sums=>s.Valor2*100/Sums=>s.BiggestValue1+Sums=>s.BiggestValue2,当BiggestValue在插入的每个值选项上获得最大值时。你能理解我吗?你能帮我吗?对不起我的英语。我不会说一口流利的语言。谢谢你的帮助。嗯,坦白说,我不得不承认我不明白。你能上传你所拥有的和你想要实现的东西的图片吗?有许多免费的文件上传服务,你可以使用,然后张贴一个链接。。另外,请尝试更新和编辑您的问题。”这些细节不属于评论!