Chart2 Direct Legend Font Only (Static)

Overview

The ooodev.format.chart2.direct.legend.font.FontOnly class gives you the similar options as Fig. 702 Font Dialog, but without the dialog.

Calls to the Chart2.style_legend() and method is used to style legend.

Setup

General setup for this example.

import uno
from ooodev.format.chart2.direct.legend.font import FontOnly as LegendFontOnly
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.utils.kind.zoom_kind import ZoomKind
from ooodev.loader.lo import Lo

def main() -> int:
    with Lo.Loader(connector=Lo.ConnectPipe()):
        doc = Calc.open_doc("pie_chart.ods")
        GUI.set_visible(True, doc)
        Lo.delay(500)
        Calc.zoom(doc, ZoomKind.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.BRICK, width=1)
        chart_grad = ChartGradient(
            chart_doc=chart_doc,
            step_count=64,
            style=GradientStyle.SQUARE,
            angle=45,
            grad_color=ColorRange(StandardColor.GREEN_DARK4, StandardColor.TEAL_LIGHT2),
        )
        Chart2.style_background(chart_doc=chart_doc, styles=[chart_grad, chart_bdr_line])

        legend_font_only_style = LegendFontOnly(name="Liberation Sans Narrow", size=13)
        Chart2.style_legend(chart_doc=chart_doc, styles=[legend_font_only_style])

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

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

Apply the Font

Before formatting the chart is visible in Fig. 833.

from ooodev.format.chart2.direct.legend.font import FontOnly as LegendFontOnly

# ... other code
legend_font_only_style = LegendFontOnly(name="Liberation Sans Narrow", size=13)
Chart2.style_legend(chart_doc=chart_doc, styles=[legend_font_only_style])

Running the above code will produce the following output shown in Fig. 701 and Fig. 702.

Chart with Title Font set

Fig. 701 Chart with Title Font set

Chart Data Labels Dialog Font

Fig. 702 Chart Data Labels Dialog Font