设置面积图openpyx的透明度(alpha)

2024-09-24 10:19:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用openpyxl为面积图的背景设置透明度。我的图表代码是:

from openpyxl.drawing.fill import PatternFillProperties, ColorChoice

c2 = AreaChart()
c2.grouping = 'stacked'
c2.add_data(data, titles_from_data=True)

c2_s1 = c2.series[0]
fill = PatternFillProperties()
fill.background = ColorChoice(srgbClr="FFFFFF")

c2_s2.graphicalProperties.pattFill = fill

我尝试过使用rgba十六进制编码。在

^{pr2}$

我也尝试过使用SystemColor,但是我找不到任何关于如何使用它的例子,而且我所做的每一次尝试都失败了


Tags: 代码fromimportdata图表fill背景c2
3条回答

扩展颜色选择

from openpyxl.compat import unicode
from openpyxl.descriptors import Typed
from openpyxl.descriptors.serialisable import Serialisable
from openpyxl.descriptors.nested import NestedInteger
from openpyxl.xml.constants import DRAWING_NS


class MyRGBColor(Serialisable):
    tagname = 'srgbClr'
    namespace = DRAWING_NS
    val = Typed(expected_type=unicode)
    alpha = NestedInteger(allow_none=True)
    __elements__ = ('alpha', )

    def __init__(self, val, alpha=None):
        self.val = val
        self.alpha = alpha


class MyColorChoice(ColorChoice):
    srgbClr = Typed(expected_type=MyRGBColor, allow_none=True)

…和

^{pr2}$

From the Docs:
Values must be of type class openpyxl.drawing.effect.AlphaBiLevelEffect

search PatternFillProperties
PatternFillProperties
回来,把你的问题标记为答案,如果这对你有用,或者评论为什么不行。在

我怀疑如果不修改openpyxl源代码,您想做的事情目前是不可能的。有关详细信息,请参见"this pull request"。在

相关问题 更多 >