取得 Java 投影片中圖表資料標籤的實際位置
Java投影片中取得圖表資料標籤實際位置簡介
在本教學中,您將學習如何使用 Aspose.Slides for 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();
}
結論
在本教學中,您學習如何使用 Aspose.Slides for Java 檢索 Java Slides 中圖表資料標籤的實際位置。現在,您可以利用這些知識,透過自訂資料標籤和位置的視覺表示來增強 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);