如何在EPPlus中更改数据标签位置?

时间:2017-01-10 18:43:17

标签: c# asp.net epplus

所以这是我成功生成的图表。但是由于某种原因,在此图表中,它只决定日期时间应显示在图表的顶部而不是底部。这是我的代码和我尝试过的内容。请注意,文本既不是粗体也不是显示它应该的位置。我也尝试给图表提供大量的工作区域,但它仍然会这样做。非常感谢任何正确方向的帮助。

ExcelChart paintDewChart = overview.Drawings.AddChart(w.Name + "Dew", OfficeOpenXml.Drawing.Chart.eChartType.LineMarkersStacked);
paintDewChart.Title.Text = "Paint Dew";
paintDewChart.SetPosition(24, 0, 0, 0);
paintDewChart.SetSize(1550, 400);
paintDewChart.Legend.Position = eLegendPosition.Bottom;

var dser1 = (ExcelLineChartSerie)(paintDewChart.Series.Add(w2.Cells["C4:C" + water.Count.ToString()], w1.Cells["A4:A" + water.Count.ToString()]));
var dser2 = (ExcelLineChartSerie)(paintDewChart.Series.Add(w2.Cells["D4:D" + water.Count.ToString()], w1.Cells["A4:A" + water.Count.ToString()]));

dser1.Header = "PC2 Dew";
dser2.Header = "B Dew";

dser1.DataLabel.Position = eLabelPosition.Bottom;
dser2.DataLabel.Position = eLabelPosition.Bottom;

dser1.DataLabel.Font.Bold = true;
dser2.DataLabel.Font.Bold = true;

enter image description here

编辑:

我发现我可以用这个方向翻转方向,但标签仍然覆盖在图形上而不是它下方。

paintDewChart.YAxis.Orientation = eAxisOrientation.MaxMin;

1 个答案:

答案 0 :(得分:1)

以下是我的情况所需的正确代码。

paintDewChart.YAxis.Orientation = eAxisOrientation.MaxMin;
paintDewChart.XAxis.LabelPosition = eTickLabelPosition.High;
paintDewChart.XAxis.TickLabelPosition = eTickLabelPosition.High;

编辑:同样取决于从正到负的最小值和最大值范围,您可能需要这个。

paintDewChart.XAxis.Crosses = eCrosses.Max;