A diagramok felépítése

From Apache OpenOffice Wiki
Jump to: navigation, search
Book.png


Egy diagram felépítése – és ezáltal az általa támogatott szolgáltatások és felületek listája – annak típusától függ. Például a Z tengely metódusai és tulajdonságai csak térhatású diagramoknál érhetők el, síkbelieknél nem, illetve a tortadiagramoknál nincsenek felületek a tengelyek kezelésére.

Cím, alcím és jelmagyarázat

A cím, alcím és jelmagyarázat minden diagramnál alapelem. A Chart objektum a következő tulajdonságokkal rendelkezik ezeknek az elemeknek a kezeléséhez:

HasMainTitle (logikai érték)
a cím aktiválása.
Title (objektum)
a diagram címéről részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartTitle szolgáltatást).
HasSubTitle(logikai érték)
az alcím aktiválása
Subtitle (objektum)
a diagram alcíméről részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartTitle szolgáltatást).
HasLegend (logikai érték)
a jelmagyarázat aktiválása.
Legend (objektum)
a diagram jelmagyarázatáról részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartLegend szolgáltatást).

A com.sun.star.chart.ChartTitle és a com.sun.star.chart.ChartLegend szolgáltatások egyaránt támogatják a com.sun.star.drawing.Shape szolgáltatást. Ezért a felhasználók az elemek helyét és méretét meg tudják állapítani a Size és a Position tulajdonsággal. Mivel a jelmagyarázat és a címek méretét a program automatikusan számítja ki például az aktuális tartalom és a karaktermagasság függvényében, a méret tulajdonság csak olvasható.

Az elemek formázásához kitöltési tulajdonságok és vonaltulajdonságok (a com.sun.star.drawing.FillProperties és a com.sun.star.drawing.LineProperties szolgáltatás), valamint karaktertulajdonságok (a com.sun.star.style.CharacterProperties szolgáltatás) állnak rendelkezésre.

A com.sun.star.chart.ChartTitle objektum nem csak az említett formázási tulajdonságokat tartalmazza, hanem két másik tulajdonságot is:

String (karakterlánc)
a címként vagy alcímként megjelenítendő szöveg.
TextRotation (hosszú egész szám)
a szöveg forgatása századfokban.

A diagram jelmagyarázata (com.sun.star.chart.ChartLegend szolgáltatás) a következő további tulajdonságokat tartalmazza:

Alignment (enumeráció)
a jelmagyarázat helye (com.sun.star.chart.ChartLegendPosition típusú érték).

A következő példa létrehoz egy diagramot, és hozzárendeli a „Főcím” címet, az „Alcím” alcímet és egy jelmagyarázatot. A jelmagyarázat háttérszíne szürke lesz, a diagram alján fog elhelyezkedni, és a karaktermérete 7 pontos lesz.

Dim Doc As Object   
Dim Charts As Object
Dim Chart as Object
Dim Rect As New com.sun.star.awt.Rectangle
Dim RangeAddress(0) As New com.sun.star.table.CellRangeAddress
 
Rect.X = 8000
Rect.Y = 1000
Rect.Width = 10000
Rect.Height = 7000
RangeAddress(0).Sheet = 0
RangeAddress(0).StartColumn = 0  
RangeAddress(0).StartRow = 0
RangeAddress(0).EndColumn = 2
RangeAddress(0).EndRow = 12
 
Doc = StarDesktop.CurrentComponent
 
Charts = Doc.Sheets(0).Charts
Charts.addNewByName("SajátDiagram", Rect, RangeAddress(), True, True)
Chart = Charts.getByName("SajátDiagram").EmbeddedObject
Chart.HasMainTitle = True
Chart.Title.String = "Főcím"
Chart.HasSubTitle = True
Chart.Subtitle.String = "Alcím"
Chart.HasLegend = True  
Chart.Legend.Alignment = com.sun.star.chart.ChartLegendPosition.BOTTOM
Chart.Legend.FillStyle = com.sun.star.drawing.FillStyle.SOLID
Chart.Legend.FillColor = RGB(210, 210, 210)
Chart.Legend.CharHeight = 7

Háttér

Minden diagramnak van háttérterülete. A Chart objektum Area tulajdonságának segítségével formázható a háttér:

Area (objektum)
a diagram háttérterülete (a com.sun.star.chart.ChartArea szolgáltatást támogatja).

A diagram háttérterülete lefedi a diagram teljes területét, beleértve a cím, az alcím és a jelmagyarázat alatti területet is. A kapcsolódó com.sun.star.chart.ChartArea szolgáltatás támogatja a vonal- és kitöltési tulajdonságokat.

Diagram

A Chart objektum Diagram tulajdonságának segítségével formázható a koordinátarendszer a tengelyekkel és a beosztással, ahol az adatok végül megjelennek:

Diagram (Object)
a koordinátarendszert formázó objektum. Támogatja a com.sun.star.chart.Diagram szolgáltatást, és a következőket:

A különböző szolgáltatások támogatása a diagram típusától függ (lásd: Diagramtípusok).

Diagramhátterek és -alapsíkok

A diagram háttere a koordinátarendszer háttere. A térbeli diagramoknál általában két háttér létezik: egy az adatterület mögött és egy a jobb vagy a bal oldalon. Ez a diagram elhelyezkedésétől függ. A térbeli diagramok rendszerint rendelkeznek alapsíkkal is.

A Chart objektum rendelkezik a Wall és a Floor tulajdonságokkal:

Wall (objektum)
a koordinátarendszer háttérterülete (a com.sun.star.chart.ChartArea szolgáltatást támogatja).
Floor (objektum)
a koordinátarendszer alapsíkja (csak térbeli diagramoknál, a com.sun.star.chart.ChartArea szolgáltatást támogatja).

Ezek az objektumok a com.sun.star.chart.ChartArea szolgáltatást támogatják, amely viszont rendelkezik a szokásos vonal- és kitöltési tulajdonságokkal (a com.sun.star.drawing.FillProperties és a com.sun.star.drawing.LineProperties szolgáltatás, lásd: Rajzok és bemutatók).

A következő példa bemutatja, hogyan használható fel egy, az Apache OpenOffice programban megtalálható ábra (Sky) a diagram háttérterületében. A koordinátarendszer háttere kékre van állítva.

Dim Doc As Object   
Dim Charts As Object
Dim Chart as Object
Dim Rect As New com.sun.star.awt.Rectangle
Dim RangeAddress(0) As New com.sun.star.table.CellRangeAddress
 
Rect.X = 8000
Rect.Y = 1000
Rect.Width = 10000
Rect.Height = 7000
RangeAddress(0).Sheet = 0
RangeAddress(0).StartColumn = 0  
RangeAddress(0).StartRow = 0
RangeAddress(0).EndColumn = 2
RangeAddress(0).EndRow = 12
 
Doc = StarDesktop.CurrentComponent
 
Charts = Doc.Sheets(0).Charts
Charts.addNewByName("SajátDiagram", Rect, RangeAddress(), True, True)
Chart = Charts.getByName("SajátDiagram").EmbeddedObject
Chart.Area.FillStyle = com.sun.star.drawing.FillStyle.BITMAP
Chart.Area.FillBitmapName = "Sky"
Chart.Area.FillBitmapMode = com.sun.star.drawing.BitmapMode.REPEAT
 
Chart.Diagram.Wall.FillStyle = com.sun.star.drawing.FillStyle.SOLID
Chart.Diagram.Wall.FillColor = RGB(00,132,209)

Tengelyek

Az Apache OpenOffice öt különböző tengelyt tud használni a diagramokban. A legegyszerűbb esetben ez az X és Y tengely. Térhatású diagramoknál általában van egy Z tengely is. Az olyan diagramoknál, ahol az adatsorok értékei jelentősen eltérnek egymástól, az Apache OpenOffice biztosít egy másodlagos X és Y tengelyt a méretezéshez.

A Diagram objektum a következő tulajdonságokkal rendelkezik a tengelyek eléréséhez:

HasXAxis (logikai érték)
aktiválja az X tengelyt.
XAxis (objektum)
az X tengelyről részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartAxis szolgáltatást).
HasXAxisDescription (logikai érték)
aktiválja a beosztás feliratait az X tengelynél..
HasYAxis (logikai érték)
aktiválja az Y tengelyt.
YAxis (objektum)
az Y tengelyről részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartAxis szolgáltatást).
HasYAxisDescription (logikai érték)
aktiválja a beosztás feliratait az Y tengelynél.
HasZAxis (logikai érték)
aktiválja a Z tengelyt.
ZAxis (objektum)
a Z tengelyről részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartAxis szolgáltatást).
HasZAxisDescription (logikai érték)
aktiválja a beosztás feliratait a Z tengelynél.
HasSecondaryXAxis (logikai érték)
aktiválja a másodlagos X tengelyt.
SecondaryXAxis (objektum)
a másodlagos X tengelyről részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartAxis szolgáltatást).
HasSecondaryXAxisDescription (logikai érték)
aktiválja a beosztás feliratait a másodlagos X tengelynél.
HasSecondaryYAxis (logikai érték)
aktiválja a másodlagos Y tengelyt.
SecondaryYAxis (objektum)
a másodlagos Y tengelyről részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartAxis szolgáltatást).
HasSecondaryYAxisDescription (logikai érték)
aktiválja a beosztás feliratait a másodlagos Y tengelynél.

A tengelyek tulajdonságai

Egy Apache OpenOffice-diagram tengelyobjektuma a com.sun.star.chart.ChartAxis szolgáltatást támogatja. A karaktertulajdonságokon (com.sun.star.style.CharacterProperties szolgáltatás, lásd: Szöveges dokumentumok) és vonaltulajdonságokon (com.sun.star.drawing.LineStyle szolgáltatás, lásd: Rajzok és bemutatók) felül a következő tulajdonságokat biztosítja:

Skálatulajdonságok

Max (dupla pontosságú érték)
a tengely maximális értéke.
Min (dupla pontosságú érték)
a tengely minimális értéke.
Origin (dupla pontosságú érték)
az egymást keresztező tengelyek metszési pontja.
StepMain (dupla pontosságú érték)
a tengely két elsődleges beosztása közti távolság.
StepHelp (dupla pontosságú érték)
a tengely két albeosztása közti távolság (az OpenOffice.org 3.0 óta elavultnak számít, használjuk helyette a StepHelpCount tulajdonságot).
StepHelpCount (hosszú egész szám)
Egy főbeosztáson belüli albeosztások számát adja meg. Ha például a StepHelpCount 5, akkor a főbeosztás 5 részre lesz osztva, és 4 kis beosztásjel lesz behúzva. (Az OpenOffice.org 3.0 óta érhető el.)
AutoMax (logikai érték)
ha igaz, akkor a program a tengely maximális értékét automatikusan beállítja.
AutoMin (logikai érték)
ha igaz, akkor a program a tengely minimális értékét automatikusan beállítja.
AutoOrigin (logikai érték)
ha igaz, akkor a program az egymást keresztező tengelyek metszési pontját automatikusan beállítja.
AutoStepMain (logikai érték)
ha igaz, akkor a StepMain értékét a program automatikusan meghatározza.
AutoStepHelp (logikai érték)
ha igaz, akkor a StepHelpCount értékét a program automatikusan meghatározza.
Logarithmic (logikai érték)
a tengelyeket logaritmikusan méretezi (lineáris méretezés helyett).
ReverseDirection (logikai érték)
meghatározza, hogy a tengely irányítása matematikai vagy fordított. (Az OpenOffice.org 2.4 óta érhető el.)

Címketulajdonságok:

DisplayLabels (logikai érték)
aktiválja a beosztásjelek szövegcímkéit.
TextRotation (hosszú egész szám)
a szövegcímkék forgatása századfokban.
ArrangeOrder (enumeráció)
a címkék összetorlódhatnak, ezért két sorba felváltva helyezkednek el (az értékek a com.sun.star.chart.ChartAxisArrangeOrderType szerint)
TextBreak (logikai érték)
sortörések engedélyezése a tengelycímkéken belül
TextCanOverlap (logikai érték)
tengelycímkék átfedésének engedélyezése
NumberFormat (hosszú egész szám)
a tengelycímkékhez használt számformátum
LinkNumberFormatToSource (logikai érték)
meghatározza, hogy a számformátumot a diagramot tároló dokumentumból vagy a NumberFormat tulajdonságból kell-e venni. (Az OpenOffice.org 2.3 óta érhető el.)

Beosztásjelek tulajdonságai

Marks (állandó)
meghatározza a főbeosztások helyét (az értékek a com.sun.star.chart.ChartAxisMarks tulajdonságnak megfelelően)
HelpMarks (állandó)
meghatározza az albeosztások helyét (az értékek a com.sun.star.chart.ChartAxisMarks tulajdonságnak megfelelően)

Csak sávdiagramoknál:

Overlap (hosszú egész szám)
százalékos arány, amely megadja, hogy a sávok mennyire fedik át egymást (100%: a sávok teljesen átfedik egymást, -100%: a sávok közt a sávok szélességével megegyező távolság van).
GapWidth (hosszú egész szám)
százalékos arány, amely megadja, milyen távolság lehet a különböző sávcsoportok között (100%: a távolság megegyezik egy sáv szélességével).

Rácsvonalak

Az elsődleges tengelyek által meghatározott rácsvonalak megjeleníthetők, amelyek megfelelnek a fő- és albeosztásnak. A Diagram objektum a következő tulajdonságokkal rendelkezik a rácsvonalak eléréséhez:

HasXAxisGrid (logikai érték)
aktiválja az X tengely fő vezetőrácsát.
XMainGrid (objektum)
az X tengely fő vezetőrácsáról részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartGrid szolgáltatást).
HasXAxisHelpGrid (logikai érték)
aktiválja az X tengely segédrácsát.
XHelpGrid (objektum)
az X tengely segédrácsáról részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartGrid szolgáltatást).

Ugyanez y és z tengelyekre:

HasYAxisGrid (logikai érték)
aktiválja az Y tengely fő vezetőrácsát.
YMainGrid (objektum)
az Y tengely fő vezetőrácsáról részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartGrid szolgáltatást).
HasYAxisHelpGrid (logikai érték)
aktiválja az Y tengely segédrácsát.
YHelpGrid (objektum)
az Y tengely segédrácsáról részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartGrid szolgáltatást).
HasZAxisGrid (logikai érték)
aktiválja a Z tengely fő vezetőrácsát.
ZMainGrid (objektum)
az Z tengely fő vezetőrácsáról részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartGrid szolgáltatást).
HasZAxisHelpGrid (logikai érték)
aktiválja a Z tengely segédrácsát.
ZHelpGrid (objektum)
a Z tengely segédrácsáról részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartGrid szolgáltatást).

A rács objektum a com.sun.star.chart.ChartGrid szolgáltatáson alapul, amely viszont a com.sun.star.drawing.LineStyle szolgáltatás vonaltulajdonságait támogatja (lásd: Rajzok és bemutatók).

Tengelyfeliratok

Minden tengelyhez megjeleníthető egy további tengelyfelirat is. A Diagram objektum a következő tulajdonságokkal rendelkezik a tengelyfeliratok eléréséhez:

HasXAxisTitle (logikai érték)
aktiválja az X tengely feliratát.
XAxisTitle (objektum)
az X tengely feliratáról részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartTitle szolgáltatást).

Ugyanez y és z tengelyekre:

HasYAxisTitle (logikai érték)
aktiválja az Y tengely feliratát.
YAxisTitle (objektum)
az Y tengely feliratáról részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartTitle szolgáltatást).
HasZAxisTitle (logikai érték)
aktiválja a Z tengely feliratát.
ZAxisTitle (objektum)
a Z tengely feliratáról részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartTitle szolgáltatást).

Végül a másodlagos tengelyekre (az OpenOffice.org 3.0 óta érhetők el):

HasSecondaryXAxisTitle (logikai érték)
aktiválja a másodlagos X tengely feliratát.
SecondXAxisTitle (objektum)
a másodlagos X tengely feliratáról részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartTitle szolgáltatást).
HasSecondaryYAxisTitle (logikai érték)
aktiválja a másodlagos Y tengely feliratát.
SecondYAxisTitle (objektum)
a másodlagos Y tengely feliratáról részletes adatokat tartalmazó objektum (támogatja a com.sun.star.chart.ChartTitle szolgáltatást).

A tengelyfelirat formázására szolgáló objektumok a com.sun.star.chart.ChartTitle szolgáltatáson alapulnak, amely a diagramok címének kezelését is végzi.

Példa

A következő példa egy vonaldiagramot hoz létre. A diagramháttér színe fehérre van állítva. Az X és az Y tengelynek is szürke a segédrácsa a jobb láthatóság kedvéért. Az Y tengely minimális értéke 0-ra van állítva, a maximális értéke pedig 100-ra, így a diagram felbontása változatlan marad még akkor is, ha az értékek módosulnak. Az X tengely pontjai fordított irányban vannak, jobbról balra. Az X tengelynek van felirata.

Dim Doc As Object
Dim Charts As Object
Dim Chart as Object
Dim Rect As New com.sun.star.awt.Rectangle
Dim RangeAddress(0) As New com.sun.star.table.CellRangeAddress
 
Doc = StarDesktop.CurrentComponent
Charts = Doc.Sheets(0).Charts
 
Rect.X = 8000
Rect.Y = 1000
Rect.Width = 10000
Rect.Height = 7000
RangeAddress(0).Sheet = 0
RangeAddress(0).StartColumn = 0  
RangeAddress(0).StartRow = 0
RangeAddress(0).EndColumn = 2
RangeAddress(0).EndRow = 12
 
Charts.addNewByName("MyChart", Rect, RangeAddress(), True, True)
Chart = Charts.getByName("MyChart").embeddedObject
Chart.Diagram = Chart.createInstance("com.sun.star.chart.LineDiagram")
Chart.Diagram.Wall.FillColor = RGB(255, 255, 255)
Chart.Diagram.HasXAxisGrid = True
Chart.Diagram.XMainGrid.LineColor = RGB(192, 192, 192)
Chart.Diagram.HasYAxisGrid = True
Chart.Diagram.YMainGrid.LineColor = RGB(192, 192, 192)
Chart.Diagram.YAxis.Min = 0  
Chart.Diagram.YAxis.Max = 100
 
Chart.Diagram.XAxis.ReverseDirection = true 'OpenOffice.org 2.4 vagy újabb szükséges
Chart.Diagram.HasXAxisTitle = true
Chart.Diagram.XAxisTitle.String = "Példa fordított X tengelyre"

Térbeli diagramok

Az Apache OpenOffice legtöbb diagramja megjeleníthető térbeli grafikával is. A térbeli diagramokhoz a Diagram objektumon keresztül a következő tulajdonságok érhetők el:

Dim3D (logikai érték)
aktiválja a térhatású megjelenítést.
Deep (logikai érték)
a sorozatok egymás mögé lesznek rendezve Z irányban.
RightAngledAxes (logikai érték)
aktiválja a térbeli megjelenítést úgy, hogy az X és Y tengelyek derékszöget zárjanak be a síkba vetítéskor. (Az OpenOffice.org 2.3 óta érhető el.)
D3DScenePerspective (enumeráció)
meghatározza, hogy a térbeli objektumokat perspektivikusan vagy axonometrikusan kell-e megrajzolni (az értékek a com.sun.star.drawing.ProjectionMode tulajdonságának megfelelően)
Perspective (hosszú egész szám)
a térbeli diagramok perspektívája ( [0,100] ) (az OpenOffice.org 2.4.1-ben jelent meg)
RotationHorizontal (hosszú egész szám)
a térbeli diagramok vízszintes elforgatása ( [-180,180] ) (az OpenOffice.org 2.4.1-ben jelent meg)
RotationVertical (hosszú egész szám)
a térbeli diagramok függőleges elforgatása ( [-180,180] ) (az OpenOffice.org 2.4.1-ben jelent meg)

A következő példa egy térbeli területdiagramot hoz létre.

Dim Doc As Object   
Dim Charts As Object
Dim Chart as Object
Dim Rect As New com.sun.star.awt.Rectangle
Dim RangeAddress(0) As New com.sun.star.table.CellRangeAddress
 
Doc = StarDesktop.CurrentComponent
Charts = Doc.Sheets(0).Charts
 
Rect.X = 8000
Rect.Y = 1000
Rect.Width = 10000
Rect.Height = 7000
RangeAddress(0).Sheet = 0
RangeAddress(0).StartColumn = 0  
RangeAddress(0).StartRow = 0
RangeAddress(0).EndColumn = 2
RangeAddress(0).EndRow = 12
 
Charts.addNewByName("MyChart", Rect, RangeAddress(), True, True)
Chart = Charts.getByName("MyChart").embeddedObject
Chart.Diagram = Chart.createInstance("com.sun.star.chart.AreaDiagram")
Chart.Diagram.Dim3D = true
Chart.Diagram.Deep = true
Chart.Diagram.RightAngledAxes = true 'OpenOffice.org 2.3 vagy újabb szükséges
Chart.Diagram.D3DScenePerspective = com.sun.star.drawing.ProjectionMode.PERSPECTIVE
Chart.Diagram.Perspective = 100 'OpenOffice.org 2.4.1 vagy újabb szükséges
Chart.Diagram.RotationHorizontal = 60 'OpenOffice.org 2.4.1 vagy újabb szükséges
Chart.Diagram.RotationVertical = 30 'OpenOffice.org 2.4.1 vagy újabb szükséges

Halmozott diagramok

A halmozott diagramok olyan diagramok, amelyekben több érték van egymáson megjelenítve, és így adják meg a végösszeget. Ez a típus nem csak az egyes értékeket jeleníti meg, hanem áttekintést nyújt az értékek összegéről is.

Az Apache OpenOffice számos diagramja megjeleníthető halmozott formában. Ezek mindegyike támogatja a com.sun.star.chart.StackableDiagram szolgáltatást, amely viszont a következő tulajdonságokat biztosítja:

Stacked (logikai érték)
a halmozott megjelenítési mód aktiválása.
Percent (logikai érték)
az abszolút értékek helyett százalékos megjelenítés.


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools