Chart2 Direct Title/Subtitle Font

Overview

The style_font_general() method is used to set the font properties of a Chart Title or Subtitle.

Setup

General setup for this example.

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

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_font_general(
            b=True,
            i=True,
            u=True,
            color=StandardColor.PURPLE_DARK2,
            shadowed=True,
        )
        Lo.delay(1_000)
        doc.close()
    return 0

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

Apply the Font

Before formatting the chart is seen in Fig. 832.

Apply to Title

from ooodev.utils.color import StandardColor

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

title.style_font_general(
    b=True,
    i=True,
    u=True,
    color=StandardColor.PURPLE_DARK2,
    shadowed=True,
)

Running the above code will produce the following output shown in Fig. 634.

Chart with Title Font set

Fig. 634 Chart with Title Font set

Apply to Subtitle

from ooodev.utils.color import StandardColor

# ... other code
sub_title = chart_doc.first_diagram.get_title()
if sub_title is None:
    raise ValueError("Title not found")

sub_title.style_font_general(
    b=True,
    i=True,
    u=True,
    color=StandardColor.PURPLE_DARK2,
    shadowed=True,
)

Running the above code will produce the following output shown in Fig. 635.

Chart with Subtitle Font set

Fig. 635 Chart with Subtitle Font set