Chart2 Direct Title/Subtitle Alignment

Overview

The style_orientation() and style_write_mode() methods are used to set the alignment of the chart title and subtitle.

Setup

General setup used to run the examples in this page.

from __future__ import annotations
from pathlib import Path
import uno
from ooo.dyn.awt.gradient_style import GradientStyle
from ooodev.calc import CalcDoc, ZoomKind
from ooodev.loader.lo import Lo
from ooodev.utils.color import StandardColor
from ooodev.utils.data_type.color_range import ColorRange
from ooodev.format.chart2.direct.title.alignment import DirectionModeKind

def main() -> int:
    with Lo.Loader(connector=Lo.ConnectPipe()):
        fnm = Path.cwd() / "tmp" / "piechart.ods"
        doc = CalcDoc.open_doc(fnm=fnm, visible=True)
        Lo.delay(500)
        doc.zoom(ZoomKind.ZOOM_100_PERCENT)

        sheet = doc.sheets[0]
        sheet["A1"].goto()
        chart_table = sheet.charts[0]
        chart_doc = chart_table.chart_doc
        _ = chart_doc.style_border_line(
            color=StandardColor.PURPLE_DARK1,
            width=0.7,
        )
        _ = chart_doc.style_area_gradient(
            step_count=64,
            style=GradientStyle.SQUARE,
            angle=45,
            grad_color=ColorRange(
                StandardColor.BLUE_DARK1,
                StandardColor.PURPLE_LIGHT2,
            ),
        )

        title = chart_doc.get_title()
        if title is None:
            raise ValueError("Title not found")

        title.style_orientation(angle=15, vertical=False)
        title.style_write_mode(mode=DirectionModeKind.LR_TB)

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

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

Setting Direction and Orientation

Before formatting the chart is seen in Fig. 832.

Apply to Title

from ooodev.format.chart2.direct.title.alignment import DirectionModeKind
# ... other code
title = chart_doc.get_title()
if title is None:
    raise ValueError("Title not found")
title.style_orientation(angle=15, vertical=False)
title.style_write_mode(mode=DirectionModeKind.LR_TB)

The results are seen in Fig. 610 and Fig. 611.

Chart with title orientation set

Fig. 610 Chart with title orientation set

Chart Title Alignment Dialog

Fig. 611 Chart Title Alignment Dialog

Apply to Subtitle

from ooodev.format.chart2.direct.title.alignment import DirectionModeKind
# ... other code
sub_title = chart_doc.first_diagram.get_title()
if sub_title is None:
    raise ValueError("Title not found")
sub_title.style_orientation(angle=15, vertical=False)
sub_title.style_write_mode(mode=DirectionModeKind.LR_TB)

The results are seen in Fig. 612.

Chart with subtitle orientation set

Fig. 612 Chart with subtitle orientation set