Dostosowywanie obszarów wykresów w prezentacjach w Javie
Przegląd
Ten artykuł pokazuje, jak pracować z obszarem wykresu w Aspose.Slides. Wyjaśnia, jak uzyskać rzeczywistą pozycję i rozmiar obszaru wykresu, walidując układ wykresu, a następnie odczytując jego wartości X, Y, szerokości i wysokości.
Pokazuje także, jak skonfigurować tryb układu obszaru wykresu, gdy układ jest ustawiany ręcznie, używając LayoutTargetType do określenia, czy obszar wykresu jest obliczany na podstawie jego wewnętrznego regionu czy zewnętrznego regionu wraz z osiami i etykietami osi.
Pobranie szerokości i wysokości obszaru wykresu
Aspose.Slides for Java udostępnia prosty interfejs API.
- Utwórz instancję klasy Presentation .
- Uzyskaj dostęp do pierwszego slajdu.
- Dodaj wykres z danymi domyślnymi.
- Wywołaj metodę IChart.validateChartLayout() przed uzyskaniem rzeczywistych wartości.
- Pobiera rzeczywistą pozycję X (lewo) elementu wykresu względem lewego górnego rogu wykresu.
- Pobiera rzeczywistą pozycję Y (góra) elementu wykresu względem lewego górnego rogu wykresu.
- Pobiera rzeczywistą szerokość elementu wykresu.
- Pobiera rzeczywistą wysokość elementu wykresu.
// Utwórz instancję klasy Presentation
Presentation pres = new Presentation();
try {
Chart chart = (Chart)pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350);
chart.validateChartLayout();
double x = chart.getPlotArea().getActualX();
double y = chart.getPlotArea().getActualY();
double w = chart.getPlotArea().getActualWidth();
double h = chart.getPlotArea().getActualHeight();
} finally {
if (pres != null) pres.dispose();
}
Ustawienie trybu układu obszaru wykresu
Aspose.Slides for Java udostępnia prosty interfejs API do ustawiania trybu układu obszaru wykresu. Metody setLayoutTargetType i getLayoutTargetType zostały dodane do klasy ChartPlotArea oraz interfejsu IChartPlotArea. Jeśli układ obszaru wykresu jest definiowany ręcznie, to właściwość określa, czy układ obszaru wykresu ma być określany przez jego wnętrze (bez osi i etykiet osi) czy zewnętrze (z osiami i etykietami osi). Dostępne są dwie możliwe wartości, które są zdefiniowane w wyliczeniu LayoutTargetType enum.
- LayoutTargetType.Inner - określa, że rozmiar obszaru wykresu określa rozmiar samego obszaru wykresu, nie uwzględniając kresek podziałki i etykiet osi.
- LayoutTargetType.Outer - określa, że rozmiar obszaru wykresu określa rozmiar samego obszaru wykresu, kresek podziałki i etykiet osi.
// Utwórz instancję klasy Presentation
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 20, 100, 600, 400);
chart.getPlotArea().setX(0.2f);
chart.getPlotArea().setY(0.2f);
chart.getPlotArea().setWidth(0.7f);
chart.getPlotArea().setHeight(0.7f);
chart.getPlotArea().setLayoutTargetType(LayoutTargetType.Inner);
pres.save("SetLayoutMode_outer.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
FAQ
W jakich jednostkach zwracane są rzeczywiste wartości x, y, szerokość i wysokość?
W punktach; 1 cal = 72 punkty. Są to jednostki współrzędnych Aspose.Slides.
Czym różni się Plot Area od Chart Area pod względem zawartości?
Plot Area jest regionem rysowania danych (serie, linie siatki, linie trendu itp.); Chart Area obejmuje elementy otaczające (tytuł, legendę itp.). W wykresach 3D Plot Area obejmuje również ściany/podłogę oraz osie.
Jak interpretowane są wartości x, y, szerokość i wysokość Plot Area, gdy układ jest ustawiony ręcznie?
Są to ułamki (0–1) ogólnego rozmiaru wykresu; w tym trybie automatyczne pozycjonowanie jest wyłączone i używane są ustawione przez Ciebie ułamki.
Dlaczego pozycja Plot Area zmieniła się po dodaniu/przesunięciu legendy?
Legenda znajduje się w obszarze wykresu poza Plot Area, ale wpływa na układ i dostępną przestrzeń, dlatego Plot Area może przesunąć się, gdy włączone jest automatyczne pozycjonowanie. (Jest to standardowe zachowanie wykresów w PowerPoint.)