Получите фактическое положение метки данных диаграммы в слайдах Java
Введение в получение фактического положения метки данных диаграммы в слайдах Java
В этом уроке вы узнаете, как получить фактическое положение меток данных диаграммы с помощью Aspose.Slides для Java. Мы создадим программу Java, которая генерирует презентацию PowerPoint с диаграммой, настраивает метки данных, а затем добавляет фигуры, представляющие положения этих меток данных.
Предварительные условия
Прежде чем начать, убедитесь, что в вашем проекте Java настроена библиотека Aspose.Slides for Java.
Шаг 1. Создайте презентацию PowerPoint
Сначала давайте создадим новую презентацию PowerPoint и добавим в нее диаграмму. Мы настроим метки данных диаграммы позже в этом руководстве.
// Путь к каталогу документов.
String dataDir = "Your Document Directory";
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
chart.validateChartLayout();
} finally {
if (pres != null) pres.dispose();
}
Шаг 2. Настройте метки данных
Теперь давайте настроим метки данных для серии диаграмм. Мы установим их положение и покажем значения.
try {
// ... (предыдущий код)
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
// ... (оставшийся код)
} finally {
if (pres != null) pres.dispose();
}
Шаг 3. Получите фактическое положение меток данных
На этом этапе мы пройдемся по точкам данных серии диаграмм и получим фактическое положение меток данных, имеющих значение больше 4. Затем мы добавим эллипсы для представления этих позиций.
try {
// ... (предыдущий код)
for (IChartSeries series : chart.getChartData().getSeries()) {
for (IChartDataPoint point : series.getDataPoints()) {
if (point.getValue().toDouble() > 4) {
float x = point.getLabel().getActualX();
float y = point.getLabel().getActualY();
float w = point.getLabel().getActualWidth();
float h = point.getLabel().getActualHeight();
IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Ellipse, x, y, w, h);
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(com.aspose.cells.Color.fromArgb(100, 0, 255, 0).d());
}
}
}
// ... (оставшийся код)
} finally {
if (pres != null) pres.dispose();
}
Шаг 4. Сохраните презентацию
Наконец, сохраните созданную презентацию в файл.
try {
// ... (предыдущий код)
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Полный исходный код для получения фактического положения метки данных диаграммы в слайдах Java
// Путь к каталогу документов.
String dataDir = "Your Document Directory";
Presentation pres = new Presentation();
try
{
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
for (IChartSeries series : chart.getChartData().getSeries())
{
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
chart.validateChartLayout();
for (IChartSeries series : chart.getChartData().getSeries())
{
for (IChartDataPoint point : series.getDataPoints())
{
if (point.getValue().toDouble() > 4)
{
float x = point.getLabel().getActualX();
float y = point.getLabel().getActualY();
float w = point.getLabel().getActualWidth();
float h = point.getLabel().getActualHeight();
IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Ellipse, x, y, w, h);
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(com.aspose.cells.Color.fromArgb(100, 0, 255, 0).d());//ДЕЛАТЬ
}
}
}
pres.save(dataDir + "GetActualPositionOFChartDatalabel", SaveFormat.Pptx);
}
finally
{
if (pres != null) pres.dispose();
}
Заключение
В этом руководстве вы узнали, как получить фактическое положение меток данных диаграммы в слайдах Java с помощью Aspose.Slides для Java. Теперь вы можете использовать эти знания для улучшения своих презентаций PowerPoint с помощью настраиваемых меток данных и визуального представления их позиций.
Часто задаваемые вопросы
Как настроить метки данных на диаграмме?
Чтобы настроить метки данных на диаграмме, вы можете использоватьsetDefaultDataLabelFormat
метод для серии диаграмм и установите такие свойства, как положение и видимость. Например:
for (IChartSeries series : chart.getChartData().getSeries()) {
series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.OutsideEnd);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
}
Как добавить фигуры для представления позиций меток данных?
Вы можете перебирать точки данных серии диаграмм и использоватьgetActualX
, getActualY
, getActualWidth
, иgetActualHeight
методы метки данных, чтобы получить ее позицию. Затем вы можете добавить фигуры, используяaddAutoShape
метод. Вот пример:
float x = point.getLabel().getActualX();
float y = point.getLabel().getActualY();
float w = point.getLabel().getActualWidth();
float h = point.getLabel().getActualHeight();
IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Ellipse, x, y, w, h);
Как сохранить созданную презентацию?
Вы можете сохранить созданную презентацию, используяsave
метод. Укажите желаемый путь к файлу иSaveFormat
в качестве параметров. Например:
pres.save(dataDir + "GetActualPositionOFChartDatalabel.pptx", SaveFormat.Pptx);