Chart2 Direct Title/Subtitle Position (Static)

Overview

The ooodev.format.chart2.direct.title.position_size.Position class is used to set the position of the chart title.

Calls to the Chart2.style_title() and Chart2.style_subtitle() methods are used to set the Title and Subtitle formatting of a Chart.

Setup

General setup used to run the examples in this page.

import uno
from ooodev.format.chart2.direct.title.position_size import Position as TitlePosition
from ooodev.format.chart2.direct.general.borders import LineProperties as ChartLineProperties
from ooodev.format.chart2.direct.general.area import Gradient as ChartGradient
from ooodev.format.chart2.direct.general.area import GradientStyle, ColorRange
from ooodev.office.calc import Calc
from ooodev.office.chart2 import Chart2
from ooodev.utils.color import StandardColor
from ooodev.gui import GUI
from ooodev.loader.lo import Lo

def main() -> int:
    with Lo.Loader(connector=Lo.ConnectPipe()):
        doc = Calc.open_doc("pie_flat_chart.ods")
        GUI.set_visible(True, doc)
        Lo.delay(500)
        Calc.zoom(doc, GUI.ZoomEnum.ZOOM_100_PERCENT)

        sheet = Calc.get_active_sheet()

        Calc.goto_cell(cell_name="A1", doc=doc)
        chart_doc = Chart2.get_chart_doc(sheet=sheet, chart_name="pie_chart")

        chart_bdr_line = ChartLineProperties(color=StandardColor.PURPLE_DARK1, width=0.7)
        chart_grad = ChartGradient(
            chart_doc=chart_doc,
            step_count=64,
            style=GradientStyle.SQUARE,
            angle=45,
            grad_color=ColorRange(StandardColor.BLUE_DARK1, StandardColor.PURPLE_LIGHT2),
        )
        Chart2.style_background(chart_doc=chart_doc, styles=[chart_grad, chart_bdr_line])

        title_pos = TitlePosition(7.1, 66.3)
        Chart2.style_title(chart_doc=chart_doc, styles=[title_pos])

        Lo.delay(1_000)
        Lo.close_doc(doc)
    return 0

if __name__ == "__main__":
    SystemExit(main())

Applying Position

Before formatting the chart is seen in Fig. 832.

By default the Position class uses millimeters as the unit of measure.

Apply to Title

from ooodev.format.chart2.direct.title.position_size import Position as TitlePosition
# ... other code

title_pos = TitlePosition(7.1, 66.3)
Chart2.style_title(chart_doc=chart_doc, styles=[title_pos])

The results are seen in Fig. 823 and Fig. 792.

Chart with title position set

Fig. 823 Chart with title position set

Chart Title Position and Size Dialog

Fig. 824 Chart Title Position and Size Dialog

Apply to Subtitle

# ... other code
Chart2.style_subtitle(chart_doc=chart_doc, styles=[title_pos])

The results are seen in Fig. 825.

Chart with subtitle position set

Fig. 825 Chart with subtitle position set