Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 21. 7. 2016 16:52:26

LADER
Člen
Registrace: 3. 4. 2013
Příspěvků: 91

Zapnutí a vypnutí popisků v grafu - VYŘEŠENO

Zdravím,

Tady je kus mého kódu

oSheet = ThisComponent.Sheets(0)
oCharts = oSheet.getCharts(0)  
oChart = oCharts.getByIndex(0)
	
oChartDoc = oChart.getEmbeddedObject()

oDiagram = oChartDoc.createInstance( "com.sun.star.chart.XYDiagram" )
oChartDoc.setDiagram( oDiagram )
oDiagram = oChartDoc.getDiagram()

' Zapnutí popisků
oDiagram.DataCaption = com.sun.star.chart.ChartDataCaption.VALUE

' Vypnutí popisků
oDiagram.DataCaption = com.sun.star.chart.ChartDataCaption.NONE	

mám graf s dvěma řadami (červená a zelená)
Chtěl bych si zapnout popisky pouze k jedné řadě, druhá zůstane vypnutá (a nebo obráceně).
Ten uvedený kód funguje pro obě řady najednou. Nemůžu přijít na to jak to rozlišit.

Děkuji za radu.

Editoval LADER (29. 7. 2016 20:27:46)

Offline

#2 29. 7. 2016 17:22:05

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,678

Re: Zapnutí a vypnutí popisků v grafu - VYŘEŠENO

Nikdo nereaguje a tak řeknu svůj názor. Zřejmě varianta jedné popisné řady v kvadratickém formátu neexistuje. Je ale možné to určitě zasuplovat. Řekl bych, že jsou zhruba dvě různé možnosti.


1. Vytvořenou vrstvu popisků jedné linie smazat v podstatě manuálním způsobem, respektive upravit makro které by to udělalo jakoby automaticky.


2. Paralelně vytvořit klasický nekvadratický graf na stejné parametry a pak vrstvu popisků zaměnit.
     Obojí chce asi dost dlouho testovat vzhledem k umístění (velikosti ap). Většina grafiky se generuje pomocí Java, respektive Pythonu. Ale existují i nástroje v Basicu, což ví jen málo lidí. Doporučil bych Dannys Draw Tools přibližně z roku 2002, nebo 2003. Danny už asi nefunguje, ale byl mým favoritem. Domnívám se že už asi nežije.


     Nejsnadnější by asi při opakovoné potřebě stejného typu grafu bylo vytvoření šablony popisku, která by se dala makrem editovat v zavřeném Draw(u) a pak nějak (nevím momentálně jak) prohodit za vrstvu originálních popisků.
     Grafické úpravy Basicem lze dělat i v Calcu, Writeru a Impressu, ale pokud vím tak přímo v Draw je to nejlepší. Tam by se měl udělat základ a doplňovat hodnoty už jenom v Calcu pokud to bude možné. Vím že jste docela schopný hledat řešení takže napovím, že podle mne je nejlepší nejprve manuálně rozebrat graf na vrstvy a zjistit pokud možno závislosti mezi obrazem a zdrojovou tabulkou.


     Možná že existuje nějaké rozšíření, které by Vám alespoň napovědělo. Viděl jsem něco v Pythonu a myslím i v Javě, nebo v Js ale už si nevybavím jestli to umělo grafy. Pokud by rozšíření bylo staršího data - nevadí. Byl by to jen počin do začátku.


     Když byste už Danny "něco"..Tools nenašel - někde je mám, ale hledání nejspíš na několik hodin. Danny se jmenoval tuší Brewer nebo nějak dost podobně jako "pivo". Mám od něj někde několik knihoven a pokud vím dodnes vše maká.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 29. 7. 2016 20:25:55

LADER
Člen
Registrace: 3. 4. 2013
Příspěvků: 91

Re: Zapnutí a vypnutí popisků v grafu - VYŘEŠENO

Děkuji za odpověď. Udělal jsem to takto (přidání jednoho řádku a konec pozměněný):

	
Set oLine = oDiagram.getDataRowProperties(Y) ' Y=1 nebo Y=2 (volba řady)
	
If X=0 Then 
	' Vypnutí popisků
	oLine.DataCaption = com.sun.star.chart.ChartDataCaption.NONE
Else
	' Zapnutí popisků
	oLine.DataCaption = com.sun.star.chart.ChartDataCaption.VALUE
EndIf

Offline

Zápatí