Zarządzanie znacznikami danych wykresu w prezentacjach przy użyciu JavaScript
Przegląd
Ten artykuł wyjaśnia, jak pracować ze znacznikami danych wykresu w Aspose.Slides. Pokazuje, jak utworzyć wykres, uzyskać dostęp do serii i jej punktów danych, zastosować wypełnienia obrazem do znaczników na poziomie punktu danych, dostosować rozmiar znacznika i zapisać zaktualizowaną prezentację. Zawiera również informację, że standardowe kształty znaczników są dostępne poprzez wyliczenie MarkerStyleType oraz że wygląd znacznika jest zachowywany przy eksportowaniu wykresów do formatów rastrowych lub SVG.
Ustaw opcje znaczników wykresu
Znaczniki można ustawić na punktach danych wykresu w określonych seriach. Aby ustawić opcje znaczników wykresu, proszę wykonać poniższe kroki:
- Utwórz instancję klasy Presentation.
- Utwórz domyślny wykres.
- Ustaw obraz.
- Weź pierwszą serię wykresu.
- Dodaj nowy punkt danych.
- Zapisz prezentację na dysku.
W poniższym przykładzie ustawiliśmy opcje znaczników wykresu na poziomie punktów danych.
// Tworzenie pustej prezentacji
var pres = new aspose.slides.Presentation();
try {
// Dostęp do pierwszego slajdu
var slide = pres.getSlides().get_Item(0);
// Tworzenie domyślnego wykresu
var chart = slide.getShapes().addChart(aspose.slides.ChartType.LineWithMarkers, 0, 0, 400, 400);
// Pobieranie domyślnego indeksu arkusza danych wykresu
var defaultWorksheetIndex = 0;
// Pobieranie arkusza danych wykresu
var fact = chart.getChartData().getChartDataWorkbook();
// Usunięcie serii demonstracyjnej
chart.getChartData().getSeries().clear();
// Dodanie nowej serii
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());
// Załadowanie obrazu 1
var imgx1 = pres.getImages().addImage(java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "Desert.jpg")));
// Załadowanie obrazu 2
var imgx2 = pres.getImages().addImage(java.newInstanceSync("java.io.FileInputStream", java.newInstanceSync("java.io.File", "Tulips.jpg")));
// Pobranie pierwszej serii wykresu
var series = chart.getChartData().getSeries().get_Item(0);
// Dodanie nowego punktu (1:3) tam.
var point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 4.5));
point.getMarker().getFormat().getFill().setFillType(aspose.slides.FillType.Picture);
point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx1);
point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 2.5));
point.getMarker().getFormat().getFill().setFillType(aspose.slides.FillType.Picture);
point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx2);
point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 3.5));
point.getMarker().getFormat().getFill().setFillType(aspose.slides.FillType.Picture);
point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx1);
point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 4, 1, 4.5));
point.getMarker().getFormat().getFill().setFillType(aspose.slides.FillType.Picture);
point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx2);
// Zmiana znacznika serii wykresu
series.getMarker().setSize(15);
// Zapisanie prezentacji z wykresem
pres.save("ScatterChart.pptx", aspose.slides.SaveFormat.Pptx);
} catch (e) {console.log(e);
} finally {
if (pres != null) {
pres.dispose();
}
}
FAQ
Jakie kształty znaczników są dostępne od razu?
Standardowe kształty są dostępne (koło, kwadrat, romb, trójkąt itd.); lista jest zdefiniowana przez wyliczenie MarkerStyleType. Jeśli potrzebujesz niestandardowego kształtu, użyj znacznika z wypełnieniem obrazem, aby symulować własne elementy wizualne.
Czy znaczniki są zachowywane przy eksportowaniu wykresu do obrazu lub SVG?
Tak. Podczas renderowania wykresów do raster formats lub zapisywania shapes as SVG, znaczniki zachowują swój wygląd i ustawienia, w tym rozmiar, wypełnienie i obrys.