MsgBox(util.getInfoPC()(0))
MsgBox(util.getInfoPC()(1))
MsgBox(util.getInfoPC()(2))
MsgBox(util.getInfoPC()(3))
MsgBox(util.getInfoPC()(4))
MsgBox(util.getInfoPC()(5))
def rgb(r, g, b):
return int('%02x%02x%02x' % (r, g, b), 16)
properties = Array( _
Array("Color", RGB(255,0,0)), _
Array("LineWidth", 100), _
Array("AttachedAxisIndex", 1) _
)
Sub GraficandoRangos()
Dim pos_size As New com.sun.star.awt.Rectangle
Dim series(1) As New org.universolibre.EasyDev.ChartSerie
util = createUnoService("org.universolibre.EasyDev")
address = createUnoStruct("org.universolibre.EasyDev.CellRangeAddress")
data = createUnoStruct("org.universolibre.EasyDev.ChartData")
doc = ThisComponent
address.Doc = doc
address.Sheet = "Hoja1"
address.Col = 0
address.Row = 1
address.EndCol = 0
address.EndRow = 8
rango_X = util.getRange(address)
address.Col = 1
address.EndCol = 1
rango_Y = util.getRange(address)
address.Col = 1
address.Row = 0
title_1 = util.getCell(address)
properties = Array( _
Array("Color", RGB(255,0,0)), _
Array("LineWidth", 100), _
)
series(0).X = rango_X
series(0).Y = rango_Y
series(0).Title = title_1
series(0).Properties = properties
properties = Array( _
Array("Color", RGB(255,255,0)), _
)
series(1).X = "Hoja1.C2:C9"
series(1).Y = "Hoja1.D2:D9"
series(1).Title = "Hoja1.D1"
series(1).Properties = properties
pos_size.X = 0
pos_size.Y = 5000
pos_size.Width = 12000
pos_size.Height = 7000
data.Doc = doc
data.Sheet = util.getSheet(address)
data.Name = "Grafico01"
data.Type = "XYDiagram"
data.PosSize = pos_size
data.Series = series
properties = Array( _
Array("Title", "Canal Chalco"), _
Array("HasLegend", True), _
)
data.Properties = properties
chart = util.chartAdd(data)
properties = Array( _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 18), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("LineStyle", 1), _
Array("LineColor", RGB(255,0,0)), _
Array("LineWidth", 100) _
)
title = chart.getTitleObject()
util.imageFormat(title, properties)
legend = chart.Legend
'https://www.openoffice.org/api/docs/common/ref/com/sun/star/chart/ChartLegendPosition.html
properties = Array( _
Array("Alignment", 3), _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 12), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("LineStyle", 1), _
Array("LineColor", RGB(255,0,0)), _
Array("LineWidth", 100) _
)
util.imageFormat(legend, properties)
axis = chart.getDiagram().getXAxis()
axis.Min = -1
axis.Max = 10
axis = chart.getDiagram().getYAxis()
properties = Array( _
Array("Min", -1), _
Array("Max", 7), _
)
util.imageFormat(axis, properties)
End Sub
unopkg add -v -f -s path_oxt
Option Explicit
Sub GraficandoRangos01()
' Con EasyDev 2.3
Dim pos_size As New com.sun.star.awt.Rectangle
Dim series(1) As New org.universolibre.EasyDev.ChartSerie
Dim util as Object
Dim Address as Object
Dim data as Object
Dim doc as Object
Dim rango_X as Object
Dim rango_Y as Object
Dim Title_1 as Object
Dim Properties as Object
Dim chart as Object
Dim Axis as Object
Dim title as Object
Dim legend as Object
Dim Temp as String
util = createUnoService("org.universolibre.EasyDev")
address = createUnoStruct("org.universolibre.EasyDev.CellRangeAddress")
data = createUnoStruct("org.universolibre.EasyDev.ChartData")
doc = ThisComponent
' Definición de rango de datos por índice
address.Doc = doc
address.Sheet = "Hoja1"
address.Col = 0
address.Row = 4
address.EndCol = 0
address.EndRow = 10010
' Rango de las ordenadas
rango_X = util.getRange(address)
' Los valores que no cambian mantienen su valor
address.Col = 1
address.EndCol = 1
' Rango de las abscisas
rango_Y = util.getRange(address)
' Título
address.Col = 1
address.Row = 3
title_1 = util.getCell(address)
' Propiedades de la serie
properties = Array( _
Array("Color", RGB(0,0,255)), _
Array("LineWidth", 100), _
Array("AttachedAxisIndex", 0) _
)
' Asignación de rangos a la serie
series(0).X = rango_X
series(0).Y = rango_Y
series(0).Title = title_1
'series(0).Color = 17798
series(0).Properties = properties
properties = Array( _
Array("Color", RGB(255,0,0)), _
Array("LineWidth", 100), _
Array("AttachedAxisIndex", 2) _
)
' Serie definiendo los rangos por String
' properties = Array( _
' Array("Color", RGB(145,249,251)), _
' Array("LineWidth", 100), _
' )
series(1).X = "Hoja1.C5:C10011"
series(1).Y = "Hoja1.D5:D10011"
series(1).Title = "Hoja1.D4"
'series(1).Color = 16728590
series(1).Properties = properties
' Posición del gráfico
pos_size.X = 0
pos_size.Y = 0
pos_size.Width = 26000
pos_size.Height = 14000
' Características del gráfico
data.Doc = doc
address.Sheet = "Graficos" ' Se redefine la hoja para poder hubicar el gráfico
data.Sheet = util.getSheet(address)
data.Name = "Grafico01"
data.Type = "XYDiagram"
data.PosSize = pos_size
data.Series = series
'----------------------------------------------------------------------------------------------
Temp= "Título por variable"
properties = Array( _
Array("Title", Temp), _
Array("HasLegend", True), _
)
data.Properties = properties
'----------------------------------------------------------------------------------------------
chart = util.chartAdd(data)
'----------------------------------------------------------------------------------------------
properties = Array( _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 18), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("LineStyle", 1), _
Array("LineColor", RGB(255,0,0)), _
Array("LineWidth", 100) _
)
title = chart.getTitleObject()
util.imageFormat(title, properties)
legend = chart.Legend
'https://www.openoffice.org/api/docs/common/ref/com/sun/star/chart/ChartLegendPosition.html
properties = Array( _
Array("Alignment", 4), _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 12), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("LineStyle", 1), _
Array("LineColor", RGB(0,0,0)), _
Array("LineWidth", 10) _
)
util.imageFormat(legend, properties)
'----------------------------------------------------------------------------------------------
axis = chart.getDiagram().getXAxis()
axis.Min = 37074
axis.Max = 37075
axis = chart.getDiagram().getYAxis()
properties = Array( _
Array("Min", -5), _
Array("Max", 7), _
)
util.imageFormat(axis, properties)
End Sub
axis = chart.getDiagram().getSecondaryYAxis()
axis.Min = -50
axis.Max = 50
axis.Visible=true
axis.axisTitle.String = "YSecundario"
axis = chart.getDiagram().getYAxis()
axis.Min = -5
axis.Max = 7
axis.axisTitle.String = "Eje Y"
axis = chart.getDiagram().getYAxis()
properties = Array( _
Array("Min", -1), _
Array("Max", 10), _
Array("axisTitle.String", " Array Eje Y"), _
)
def imageFormat(self, image, data):
properties = comun.to_dict(data)
title = None
if image.supportsService('com.sun.star.chart2.Title'):
title = image.getText()[0]
for k, v in properties.items():
if hasattr(image, k):
setattr(image, k, v)
if title and hasattr(title, k):
setattr(title, k, v)
return
axis = chart.getDiagram().getYAxis()
"axisTitle.String"
axis = chart.getDiagram().getSecondaryYAxis()
properties = Array( _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 12), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("Min", -1), _
Array("Max", 7), _
Array("Visible", True), _
Array("String", "Y Secundario"), _
)
util.imageFormat(axis, properties)
Sub GraficandoRangosED()
' Con EasyDev 2.3
Dim pos_size As New com.sun.star.awt.Rectangle
Dim series(1) As New org.universolibre.EasyDev.ChartSerie
Dim util as Object
Dim Address as Object
Dim data as Object
Dim doc as Object
Dim rango_X as Object
Dim rango_Y as Object
Dim Title_1 as Object
Dim Properties as Object
Dim chart as Object
Dim Axis as Object
Dim title as Object
Dim legend as Object
Dim Temp as String
util = createUnoService("org.universolibre.EasyDev")
address = createUnoStruct("org.universolibre.EasyDev.CellRangeAddress")
data = createUnoStruct("org.universolibre.EasyDev.ChartData")
doc = ThisComponent
' Definición de rango de datos por índice
address.Doc = doc
address.Sheet = "Hoja1"
address.Col = 0
address.Row = 4
address.EndCol = 0
address.EndRow = 10010
' Rango de las ordenadas
rango_X = util.getRange(address)
' Los valores que no cambian mantienen su valor
address.Col = 1
address.EndCol = 1
' Rango de las abscisas
rango_Y = util.getRange(address)
' Título
address.Col = 1
address.Row = 3
title_1 = util.getCell(address)
' Propiedades de la serie
properties = Array( _
Array("Color", RGB(0,0,255)), _
Array("LineWidth", 100), _
Array("AttachedAxisIndex", 0) _
)
' Asignación de rangos a la serie
series(0).X = rango_X
series(0).Y = rango_Y
series(0).Title = title_1
'series(0).Color = 17798
series(0).Properties = properties
properties = Array( _
Array("Color", RGB(255,0,0)), _
Array("LineWidth", 100), _
Array("AttachedAxisIndex", 1) _
)
' Serie definiendo los rangos por String
' properties = Array( _
' Array("Color", RGB(145,249,251)), _
' Array("LineWidth", 100), _
' )
series(1).X = "Hoja1.C5:C10011"
series(1).Y = "Hoja1.D5:D10011"
series(1).Title = "Hoja1.D4"
'series(1).Color = 16728590
series(1).Properties = properties
' Posición del gráfico
pos_size.X = 0
pos_size.Y = 0
pos_size.Width = 26000
pos_size.Height = 14000
' Características del gráfico
data.Doc = doc
address.Sheet = "Graficos" ' Se redefine la hoja para poder hubicar el gráfico
data.Sheet = util.getSheet(address)
data.Name = "Grafico01"
data.Type = "XYDiagram"
data.PosSize = pos_size
data.Series = series
'----------------------------------------------------------------------------------------------
Temp= "Caso 5: Propiedades de eje Y como Array"
properties = Array( _
Array("Title", Temp), _
Array("HasLegend", True), _
)
' Array("HasSecondaryYAxis", True), _
' Array("HasXAxisTitle", True), _
' Array("HasYAxisTitle", True), _
' Array("HasSecondaryYAxisTitle", True), _
' )
' Array("HasSecondaryYAxis", True), _
' )
data.Properties = properties
'----------------------------------------------------------------------------------------------
chart = util.chartAdd(data)
'----------------------------------------------------------------------------------------------
' Título
properties = Array( _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 18), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("LineStyle", 1), _
Array("LineColor", RGB(255,0,0)), _
Array("LineWidth", 100) _
)
title = chart.getTitleObject()
util.imageFormat(title, properties)
' Leyenda
legend = chart.Legend
'https://www.openoffice.org/api/docs/common/ref/com/sun/star/chart/ChartLegendPosition.html
properties = Array( _
Array("Alignment", 4), _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 12), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("LineStyle", 1), _
Array("LineColor", RGB(0,0,0)), _
Array("LineWidth", 10) _
)
util.imageFormat(legend, properties)
'----------------------------------------------------------------------------------------------
axis = chart.getDiagram().getXAxis()
axis.Min = 37074
axis.Max = 37075
' axis = chart.getDiagram().getYAxis()
' axis.Min = -5
' axis.Max = 7
' axis.axisTitle.String = "Eje Y"
' axis = chart.getDiagram().getYAxis()
' properties = Array( _
' Array("Min", -1), _
' Array("Max", 10), _
' Array("axisTitle.String", " Array Eje Y"), _
' )
' Array("AxisTitle.String", "Eje Y"), _
' )
util.imageFormat(axis, properties)
axis = chart.getDiagram().getSecondaryYAxis()
axis.Min = -50
axis.Max = 50
axis.Visible=true
axis.axisTitle.String = "YSecundario"
axis = chart.getDiagram().getYAxis()
properties = Array( _
Array("Min", -3), _
Array("Max", 10), _
Array("String", "Eje Y Array"), _
)
util.imageFormat(axis, properties)
' axis = chart.getDiagram().getSecondaryYAxis()
' properties = Array( _
' Array("Min", -5), _
' Array("Max", 7), _
' )
' util.imageFormat(axis, properties)
End Sub
Function fGrfPr001(Hoja As Integer, ColX As Integer, ColY As Integer, FilA As Long, FilZ As Long, FilT As Long, EjeY As Integer, Form As Integer) As New org.universolibre.EasyDev.ChartSerie
'Sub GraficandoRangosED()
' Con EasyDev 2.3
Dim util as Object
Dim Address as Object
Dim data as Object
Dim doc as Object
Dim rango_X as Object
Dim rango_Y as Object
Dim Title_1 as Object
Dim Properties as Object
util = createUnoService("org.universolibre.EasyDev")
address = createUnoStruct("org.universolibre.EasyDev.CellRangeAddress")
data = createUnoStruct("org.universolibre.EasyDev.ChartData")
doc = ThisComponent
' Definición de rango de datos por índice
address.Doc = doc
address.Sheet = Hoja
address.Col = ColX
address.Row = FilA
address.EndCol = ColX
address.EndRow = FilZ
'------------------------------------------------------------
' R A N G O S
'------------------------------------------------------------
' Rango de las ordenadas
rango_X = util.getRange(address)
' Los valores que no cambian mantienen su valor
address.Col = ColY
address.EndCol = ColY
' Rango de las abscisas
' rango_Y = address
rango_Y = util.getRange(address)
' Asignación de rangos a la serie
SerieTr.X = rango_X
SerieTr.Y = rango_Y
fGrfPr001=SerieTr
'End Sub
End Function
REM ***** BASIC *****
Option Explicit
Public Series(1) As New org.universolibre.EasyDev.ChartSerie
Sub Main
Series(0) = fGrfPr001(0, 0, 1, 4, 10010, 3, 0, 2)
End Sub
Function fGrfPr001(Hoja As Integer, ColX As Integer, ColY As Integer, FilA As Long, FilZ As Long, FilT As Long, EjeY As Integer, Form As Integer) As New org.universolibre.EasyDev.ChartSerie
'Sub GraficandoRangosED()
' Con EasyDev 2.3
Dim util as Object
Dim Address as Object
Dim data as Object
Dim doc as Object
Dim rango_X as Object
Dim rango_Y as Object
Dim Title_1 as Object
Dim Properties as Object
util = createUnoService("org.universolibre.EasyDev")
address = createUnoStruct("org.universolibre.EasyDev.CellRangeAddress")
data = createUnoStruct("org.universolibre.EasyDev.ChartData")
doc = ThisComponent
' Definición de rango de datos por índice
address.Doc = doc
address.Sheet = Hoja
address.Col = ColX
address.Row = FilA
address.EndCol = ColX
address.EndRow = FilZ
'------------------------------------------------------------
' R A N G O S
'------------------------------------------------------------
' Rango de las ordenadas
rango_X = util.getRange(address)
' Los valores que no cambian mantienen su valor
address.Col = ColY
address.EndCol = ColY
' Rango de las abscisas
' rango_Y = address
rango_Y = util.getRange(address)
' Asignación de rangos a la serie
SerieTr.X = rango_X
SerieTr.Y = rango_Y
fGrfPr001=SerieTr
'End Sub
End Function
' Definición de rango de datos por índice
address.Doc = doc
address.Sheet = "Hoja1"
address.Col = 0
address.Row = 4
address.EndCol = 0
address.EndRow = 10010
' Rango de las ordenadas
rango_X = util.getRange(address)
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado