如果只修改颜色的话,直接使用下面的代码即可:

from openpyxl.drawing.fill import ColorChoice
from openpyxl.drawing.line import LineProperties'''将折线图的第一个系列的颜色设置为5FBEBF,宽度为2磅(w=25400)'''
chart.ser[0].spPr.ln = LineProperties(w=25400, solidFill = ColorChoice(srgbClr='5FBEBF'))

修改透明度就比较复杂一些,到写文章时(2021年7月),笔者还没有找到openpyxl官方的直接修改透明度的方法,但有幸找到下面的文章:

https://stackoverflow.com/questions/42950245/set-transparency-alpha-of-area-chart-openpyxl

参考大佬的做法(做了一点小修改),可以通过自定义类来改变纯色填充(solidFill)的透明度和颜色,对于面积图或者数量比较多的折线图尤为有效。

首先在代码的import部分粘贴以下内容:

from openpyxl.descriptors import Typed
from openpyxl.descriptors.serialisable import Serialisable
from openpyxl.descriptors.nested import NestedInteger
from openpyxl.xml.constants import DRAWING_NSclass MyRGBColor(Serialisable):tagname = 'srgbClr'namespace = DRAWING_NSval = Typed(expected_type = str)alpha = NestedInteger(allow_none=True)__elements__ = ('alpha', )def __init__(self, val, alpha=None):self.val = valself.alpha = alphaclass MyColorChoice(ColorChoice):srgbClr = Typed(expected_type=MyRGBColor, allow_none=True)

然后就可以开始修改透明度和颜色了,假定你已经生成了一个面积图,命名为chart,那么可以使用下面的代码去修改透明度与颜色:

from openpyxl.drawing.fill import ColorChoice
from openpyxl.drawing.line import LineProperties'''
下面这行中ser[0]是面积图(折线图同理)第一个系列的颜色与透明度
修改线条部分(ln)的颜色,宽度w设为25400即2磅
其中的'5FBEBF'即颜色的十六进制代码,可以自行用其他颜色代码替换,不了解的同学可以百度颜色转换器
alpha即【不透明度】(1000倍),0是完全透明,100000是完全不透明
'''
chart.ser[0].spPr.ln = LineProperties(w=25400, solidFill = MyColorChoice(srgbClr=MyRGBColor('5FBEBF', alpha=50000))'''
然后修改面积图的颜色与透明度'''
chart.ser[0].spPr.solidFill = MyColorChoice(srgbClr=MyRGBColor('5FBEBF', alpha=50000))'''最后才是add_chart'''
ws.add_chart(chart, 'A1')

其余图表类型的修改方法是一样的,就是在solidFill中用MyColorChoice去替换原生的ColorChoice类,从而实现修改透明度。(ColorChoice可以直接改颜色,但不能修改透明度)

openpyxl修改图表中纯色填充的透明度和颜色相关推荐

  1. openpyxl修改图表标题字体和字号

    openpyxl的一个坑在于,修改标题的字体字号时,不能直接套用修改坐标轴字体的方法,但官方文档又讲的很少,只能靠自己摸索(坑). 笔者找到的具体方法见代码: from openpyxl import ...

  2. Qt修改QSS中的qlineargradient属性,实现颜色渐变

    程序如下: 运行截图如下: 动态运行图如下: 原理很简单,修改QSS中的qlineargradient属性即可: 源码如下: widget.h #ifndef WIDGET_H #define WID ...

  3. 修改 Workshop 中 text box 输入内容的颜色

    Requirement: Change the text box text color to grey as well. Description: Workshop 应用的 JSP 页面使用的是 ne ...

  4. form字体和颜色java安卓开发_Android 修改App中默认TextView的字体和颜色

    一.别人怎么做 来源 http://stackoverflow.com/questions/3078081/setting-global-styles-for-views-in-android Act ...

  5. android preference-headers 字体颜色,android 批改preference中view属性(title,summary字体颜色等)...

    当前位置:我的异常网» Android » android 批改preference中view属性(title,summary字 android 批改preference中view属性(title,s ...

  6. grafana在图表中修改metric的名称

    1.当遇到想在图表中metric的名称比较抽象,不利于展示的问题时,如果metric的类型比较少,可以使用sql中的if语句重命名对应的metric,如下所示: SELECTUNIX_TIMESTAM ...

  7. 修改excel图表中的“系列一”

    修改excel图表中的"系列一" 觉得有用的话,欢迎一起讨论相互学习~ 方法与步骤 设置好图表之后,右键点击图表→"选择数据(源)",在系列一.系列二的地方点击 ...

  8. 使用pandas处理excel,并使用Openpyxl修改单元格格式

    使用pandas处理excel,并使用Openpyxl修改单元格格式 使用pandas处理excel,并使用Openpyxl修改单元格格式 需求 处理基本流程 查询资料过程 1.读取数据, 2.指标的 ...

  9. Python自动化办公:openpyxl绘制图表

    在后台回复[阅读书籍] 即可获取python相关电子书~ Hi,我是山月. 之前给大家分享了openpyxl的基础和进阶教程: Python自动化办公:openpyxl教程(基础) Python自动化 ...

最新文章

  1. Datawhale Ring限量100份来了!
  2. python list合并_python中如何合并两个列表
  3. [Phonegap+Sencha Touch] 移动开发18 Sencha Touch项目通过phonegap打包后的程序名字的问题...
  4. wall poj 1113
  5. 谷歌能否赶上「元宇宙」这趟快车?
  6. 基础线性规划实现(matlab,lingo)
  7. 信息学奥赛一本通(1005:地球人口承载力估计)
  8. 领域驱动设计DDD之读书笔记
  9. mysql 双主 脑裂_MySQL 高可用性keepalived+mysql双主
  10. Eclipse — 如何导入MySQL驱动
  11. 【Selenium2】【HTMLTestRunner】
  12. mac配置java环境
  13. 英语4级的分数如何计算机,英语四级的分数是怎么计算的?
  14. 磁盘分区:系统C盘空间不足怎么办?
  15. 解决:浏览器下载的Excel文件显示“文件已损坏,无法打开”
  16. 【好记性不如烂笔头】IO之深入理解同步、异步、阻塞、非阻塞
  17. 计算机主板定位孔尺寸,775针主板上四个 CPU散热器固定孔 的孔距 分别是多少...
  18. 博图sodt定时器的用法_西门子博图定时器指令说明
  19. 截至2021年10月29日,安卓系统版本和Api Level对照表
  20. vant 框架使用方式H5

热门文章

  1. 下一代无线局域网(802.11n) 第4章 互操作性
  2. 基于神经网络和小波分析的电子设备故障诊断平台介绍
  3. 明日之后1.0(完整版)
  4. 一台电脑接两个显示器,双屏显示 安装双显示器 电脑后面有两个VGA接口 干什么用的 一台主机两个显示 器怎么连接 HDMI转VGA转换器
  5. 图片放大后画质变模糊?教你一招无损放大图片
  6. Powershell Excel Module
  7. 彻底删除mysql5.1_MySQL5.1安装与卸载教程
  8. 分割为mesh之后的地形shader编写——2
  9. 双移线驾驶员模型,多项式双移线模拟 采用多项式搭建双移线期望路径,基于郭孔辉单点预瞄理论,搭建双移线simulink驾驶员模型
  10. hd2 刷android