Chart2 Direct General Transparency (Static)

Overview

Classes in the ooodev.format.chart2.direct.general.transparency module can be used to set the transparency of a chart.

Setup

General setup for examples.

import uno
from ooodev.format.chart2.direct.general.area import Color as ChartColor
from ooodev.format.chart2.direct.general.borders import LineProperties as ChartLineProperties
from ooodev.format.chart2.direct.general.transparency import Transparency as ChartTransparency
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("col_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="col_chart")

        chart_color = ChartColor(color=StandardColor.GREEN_LIGHT2)
        chart_bdr_line = ChartLineProperties(color=StandardColor.GREEN_DARK3, width=0.7)
        chart_transparency = ChartTransparency(value=50)
        Chart2.style_background(
            chart_doc=chart_doc, styles=[chart_color, chart_bdr_line, chart_transparency]
        )

        f_style = ChartTransparency.from_obj(chart_doc.getPageBackground())
        assert f_style is not None

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


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

Transparency

Before setting the background transparency of the chart is seen in Fig. 829.

Setting Transparency

The ooodev.format.chart2.direct.general.transparency.Transparency class can be used to set the transparency of a chart.

chart_color = ChartColor(color=StandardColor.GREEN_LIGHT2)
chart_bdr_line = ChartLineProperties(color=StandardColor.GREEN_DARK3, width=0.7)
chart_transparency = ChartTransparency(value=50)
Chart2.style_background(
    chart_doc=chart_doc, styles=[chart_color, chart_bdr_line, chart_transparency]
)

The results can bee seen in Fig. 659 and Fig. 660.

Chart with border, color and  transparency

Fig. 659 Chart with border, color and transparency

Chart Area Transparency Dialog

Fig. 660 Chart Area Transparency Dialog

Getting the transparency from a Chart

# ... other code

f_style = ChartTransparency.from_obj(chart_doc.getPageBackground())
assert f_style is not None

Gradient Transparency

Before setting the background gradient transparency of the chart is seen in Fig. 829.

Setting Gradient

The ooodev.format.chart2.direct.general.transparency.Gradient class can be used to set the gradient transparency of a chart.

from ooodev.format.chart2.direct.general.transparency import Gradient as ChartGradientTransparency
from ooodev.format.chart2.direct.general.transparency import IntensityRange
from ooodev.utils.data_type.angle import Angle
# ... other code

chart_color = ChartColor(color=StandardColor.GREEN_LIGHT2)
chart_bdr_line = ChartLineProperties(color=StandardColor.GREEN_DARK3, width=0.7)
chart_grad_transparent = ChartGradientTransparency(
    chart_doc=chart_doc, angle=Angle(30), grad_intensity=IntensityRange(0, 100)
)
Chart2.style_background(
    chart_doc=chart_doc,
    styles=[chart_color, chart_bdr_line, chart_grad_transparent]
)

The results can bee seen in Fig. 661 and Fig. 662.

Chart with border, color and  transparency

Fig. 661 Chart with border, color and transparency

Chart Area Transparency Dialog

Fig. 662 Chart Area Transparency Dialog