Jump to content

Macros/Basic/Calc/Graphs

From The Document Foundation Wiki

Return to Index

Graphs in Calc

Columns

The default type for all new charts is Columns

sub main()
dim mRangos(0)
dim rec as new com.sun.star.awt.Rectangle

    doc = ThisComponent
    sheet = doc.CurrentController.ActiveSheet
    charts = sheet.charts
	
    chart_name = "MySuperGraph"
    if charts.hasByName(chart_name) then
        MsgBox "Chart exists"
        exit sub
    end if
	
    cell = sheet.getCellRangeByName("A1")
    cursor = sheet.createCursorByRange(cell)
    cursor.collapseToCurrentRegion()
    mRangos(0) = cursor.RangeAddress	
	
    with rec
        .X = 6000
        .Y = 0         
        .Width = 10000
        .Height = 10000
    end with
	
    charts.addNewByName(chart_name, rec, mRangos, True, True)	
	
end sub

Make graph columns

Bars

For change to bars, just change orientation.

charts.addNewByName(chart_name, rec, mRangos, True, True)	
    chart = charts.getByName(chart_name).EmbeddedObject
    chart.Diagram.Vertical = True

Make graph bars

Pie

charts.addNewByName(chart_name, rec, mRangos, True, True)	
    chart = charts.getByName(chart_name).EmbeddedObject
    chart.Diagram = chart.createInstance("com.sun.star.chart.PieDiagram")