2017-01-20 1 views
0

Je fais un fichier Excel avec epplus qui nécessite la génération de deux graphiques dans des barres verticales comme celles montrées dans l'image suivante:Modification de l'ordre yAxys avec EPPlus

enter image description here

Comme vous pouvez le voir, le Y- axe, les étiquettes apparaissent désordonnées, en commençant par P6 et en terminant par P1. Je veux obtenir l'effet inverse. Commencer à P1 et terminer à P6

Y at-il une propriété avec laquelle je peux changer la commande? Ou devrais-je le commander avec une sorte d'algorithme de tri?

C'est la fonction liée à générer le tableau

public void dibujarGrafica6Periodos(ExcelWorksheet ws, CultureInfo idioma) 
    { 
     CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture; 
     TextInfo textinfo = cultureInfo.TextInfo; 
     var chart = ws.Drawings.AddChart("barChart2", OfficeOpenXml.Drawing.Chart.eChartType.BarClustered); 
     chart.SetPosition(34, 0, 10, 10); 
     chart.SetSize(940, 20*14); 
     var serie1 = chart.Series.Add(ws.Cells["E36:E41"], ws.Cells["A36:A41"]); 
     var serie2 =chart.Series.Add(ws.Cells["C36:C41"], ws.Cells["A36:A41"]); 
     chart.Title.Text = "Consumo por Periodos - " + textinfo.ToUpper(DateTime.Now.ToString("MMMM", idioma)); 
     chart.Title.Font.Color = System.Drawing.ColorTranslator.FromHtml("#4F81BD"); 
     chart.Border.Fill.Style = eFillStyle.NoFill; 
     chart.Title.Font.Size = 6; 
     chart.YAxis.Font.Size = 5; 
     chart.XAxis.Font.Size = 5; 
     chart.Legend.Font.Size = 5; 
     chart.Legend.Font.Color = System.Drawing.ColorTranslator.FromHtml("#4F81BD"); 
     chart.YAxis.Font.Color = System.Drawing.ColorTranslator.FromHtml("#4F81BD"); 
     chart.XAxis.Font.Color = System.Drawing.ColorTranslator.FromHtml("#4F81BD"); 
     chart.Legend.Position = OfficeOpenXml.Drawing.Chart.eLegendPosition.Bottom; 
     chart.Style = OfficeOpenXml.Drawing.Chart.eChartStyle.Style10; 
     serie1.Header = DateTime.Now.ToString("yyyy"); 
     serie2.Header = DateTime.Now.AddYears(-1).ToString("yyyy"); 
    } 
+0

Pouvez-vous nous montrer votre code? Donc, nous pouvons voir ce qui ne va pas –

+0

Bonjour, je viens d'ajouter une partie du code –

Répondre

1

résolu avec:

chart.XAxis.Orientation = OfficeOpenXml.Drawing.Chart.eAxisOrientation.MaxMin;