新闻详情

新闻详情

首页 / 资讯中心 / 详情

Bokeh Fill Properties 详解:fill_color 与 fill_alpha 的完整使用指南

发布时间:2026/9/13 15:27:25来源:尧图网络
Bokeh Fill Properties 详解:fill_color 与 fill_alpha 的完整使用指南
Bokeh Fill Properties 详解fill_color 与 fill_alpha 的完整使用指南【免费下载链接】bokehInteractive Data Visualization in the browser, from Python项目地址: https://gitcode.com/GitHub_Trending/bo/bokehBokeh 是一种在浏览器中基于 Python 进行交互式数据可视化的库。在 Bokeh 中几乎所有图形Glyph都遵循 line / fill / text / hatch 四大类视觉属性的设计而fill 属性填充属性是其中控制图形内部区域外观的核心。本文以 fill_props.rst 为骨架结合 Bokeh 源码与官方示例系统讲解fill_color与fill_alpha两个属性的含义、可取值、默认行为以及它们在真实绘图中的进阶用法。通过本文你将掌握fill 属性在 Bokeh 对象模型中的定义位置与默认值fill_color支持的七种颜色表示方式fill_alpha与颜色内嵌 alpha 的乘法合成规则以及在绘图接口中color/alpha快捷参数与fill_*显式参数之间的优先级关系。一、fill 属性在 Bokeh 视觉属性体系中的位置Bokeh 官方用户指南 视觉属性General visual properties 指出Bokeh 的众多对象共享三类最常见的属性组——line 属性线条颜色、宽度等、fill 属性填充颜色、透明度等与text 属性字体样式、颜色等。其中填充属性的说明正是通过.. include:: ../../includes/fill_props.rst指令嵌入文档的。fill 属性在 Bokeh 模型层中的正式定义位于 src/bokeh/core/property_mixins.py即FillProps混入类class FillProps(HasProps): Properties relevant to rendering fill regions. Mirrors the BokehJS properties.FillVector class. fill_color ColorSpec(defaultgray, help_color_help % fill paths) fill_alpha AlphaSpec(help_alpha_help % fill paths)从源码可以确认两个关键事实fill_color的类型是ColorSpec默认值为gray即未显式指定时Bokeh 会用灰色填充图形区域fill_alpha的类型是AlphaSpec默认值为None即不额外叠加透明度只有显式设置时才参与渲染合成。FillProps通过Include(FillProps, ...)机制批量注入到各类模型与字形中如AnnularWedge、Circle、Rect等所有带面积的字形从而避免在每个模型里重复定义属性。同目录还提供了ScalarFillPropsproperty_mixins.py它使用非向量化的Color/Alpha类型用于仅需标量填充属性的模型。除了FillProps该模块还定义了LineProps、HatchProps、TextProps与ImageProps等混入类。与 fill 属性密切相关的hatch 属性填充纹理定义在 hatch_props.rst 中包括hatch_color、hatch_alpha、hatch_weight、hatch_scale、hatch_pattern内置 17 种纹理如dot、cross、spiral与hatch_extra自定义纹理——这些属性通常与 fill 属性搭配使用用于在纯色填充之外叠加图案纹理。二、fill_color填充颜色的指定方式fill_color用于指定用于填充路径paths的颜色。Bokeh 对颜色属性的取值非常灵活根据用户指南 颜色属性一节 的说明fill_color支持以下七种表示方式表示方式示例说明命名 CSS 颜色green、indigo、LightSeaGreen另支持特殊值transparent等价于#00000000RGB(A) 十六进制#FF0000、#444444446 位不含 alpha8 位含 alpha 信息CSS4 颜色字符串rgb(0 127 0 / 1.0)、rgba(255, 0, 127, 0.6)、hsl(60deg 100% 50% / 1.0)支持rgb()、rgba()、hsl()三种函数式写法RGB 三元素元组(255, 0, 0)r、g、b 为 0–255 的整数RGBA 四元素元组(255, 0, 0, 0.5)a 为 0–1 的浮点数32 位无符号整数0xffff00ff、0xff0000ff按0xRRGGBBAA字节序编码 RGBA颜色序列列表、ColumnDataSource列或 NumPy 数组支持按数据逐点/逐对象着色官方示例 specifying_colors.py 在一张图中同时演示了元组、字符串列表与 NumPy 数组三种方式import numpy as np from bokeh.plotting import figure, show x [1, 2, 3] y1 [1, 4, 2] y2 [2, 1, 4] y3 [4, 3, 2] # 使用单个 RGBA 颜色4 元组 single_color (255, 0, 0, 0.5) # 使用不同颜色的列表CSS4 字符串与命名颜色混用 list_of_colors [ hsl(60deg 100% 50% / 1.0), rgba(0, 0, 255, 0.9), LightSeaGreen, ] # 使用 NumPy 数组32 位整数0xRRGGBBAA 字节序 numpy_array_of_colors np.array( [ 0xFFFF00FF, 0x00FF00FF, 0xFF000088, ], np.uint32, ) p figure(titleSpecifying colors) p.line(x, y1, line_colorsingle_color) p.circle(x, y2, radius0.12, colorlist_of_colors) p.scatter(x, y3, size30, markertriangle, fill_colornumpy_array_of_colors) show(p)注意上面示例中的colorlist_of_colors是绘图接口bokeh.plotting提供的快捷参数Bokeh 会把它自动映射到 glyph 对应的 fill 与 line 属性上详见下文第五节。三、fill_alpha透明度的取值范围与语义fill_alpha用于指定填充区域的透明度其取值范围为0完全透明到 1完全不透明之间的浮点数。这一语义在文档中表述为 floating point between 0 (transparent) and 1 (opaque)。需要特别强调的是在 Bokeh 中alpha 透明度存在两个独立的设置入口它们可以同时使用并相乘合成颜色本身携带的 alpha例如#00FF0044十六进制含 alpha 位、rgba(255, 0, 127, 0.6)rgba 函数、(255, 0, 127, 0.6)4 元组等fill_alpha或line_alpha属性单独指定的 alpha。根据用户指南的明确说明visuals.rst当两者同时存在时最终生效的 alpha 值等于二者的乘积。例如若颜色为#00FF0044约 0.267或rgba(255, 0, 127, 0.6)同时单独设置fill_alpha0.5则最终渲染使用的 alpha 为0.6 × 0.5 0.3。官方示例 specifying_colors_properties.py 系统地演示了 RGB/RGBA 颜色与line_alpha/fill_alpha的各种组合效果。在 property_mixins.py 中fill_alpha的类型为AlphaSpec默认值None其底层对应的验证类型是 0–1 区间内的浮点数Alpha标量版本见ScalarFillProps.fill_alpha Alpha(...)。四、绘图接口的快捷参数color 与 alpha在使用 Bokeh 的绘图接口bokeh.plotting即figure()及p.circle()、p.rect()等渲染方法时你还可以用color和alpha这两个快捷关键字来同时设置填充与线条的相关属性。用户指南对此有两点重要说明调用渲染方法时传入color和/或alphaBokeh 会自动将这些值应用到字形对应的fill与line属性上如果你同时显式提供fill_color、fill_alpha、line_color、line_alpha参数则显式的fill_*/line_*参数优先于快捷参数覆盖由color/alpha自动生成的值。入门教程示例 first_steps_2_style_circle.py 展示了快捷参数与显式参数混用的典型写法from bokeh.plotting import figure, show x [1, 2, 3, 4, 5] y [4, 5, 5, 7, 2] p figure(titleGlyphs properties example, x_axis_labelx, y_axis_labely) p.scatter( x, y, markercircle, size80, legend_labelObjects, fill_colorred, # 显式指定填充色优先于 color 快捷参数 fill_alpha0.5, # 显式指定填充透明度 line_colorblue, # 显式指定描边色 ) show(p)五、fill 属性的实际应用场景fill 属性广泛作用于所有具有面积的字形与模型。结合仓库中的真实示例其典型应用场景包括条状图与柱状图例如 examples/basic/bars 系列示例中通过fill_color为柱体着色、fill_alpha控制半透明叠加效果面积图与色带band例如 band.py 使用Band注解其fill_color与fill_alpha用于渲染置信区间色带散点图如p.scatter(..., fill_color..., fill_alpha...)控制点的内部填充外观数据驱动着色配合ColumnDataSource列或 NumPy 数组可将fill_color绑定到数据列实现按数值映射的逐点着色如 first_steps_5_vectorize_color.py背景填充FillProps之外模型还定义了background_fill_color/background_fill_alpha等派生填充属性见 property_mixins.pyi用于控制绘图区背景。六、补充与 fill 相邻的属性组理解 fill 属性时建议同时掌握与其相邻的属性组以便组合出完整的视觉样式line 属性line_props.rstline_color、line_width像素、line_alpha、line_joinmiter/round/bevel、line_capbutt/round/square、line_dash支持命名样式与像素数组、line_dash_offset——用于描边轮廓hatch 属性hatch_props.rsthatch_color默认黑、hatch_alpha、hatch_weight默认 1.0、hatch_scale默认 12.0、hatch_pattern内置 17 种纹理、hatch_extra自定义纹理映射——用于在填充之上叠加图案text 属性text_props.rsttext_font、text_font_size支持px/em/pt、text_font_style、text_color、text_alpha、text_align、text_baseline等——用于标签、轴刻度与图例文字。结语fill_color与fill_alpha虽只是两个属性却是 Bokeh 视觉体系中最常用、最基础的一组。它们定义于 src/bokeh/core/property_mixins.py以混入类的方式批量注入字形模型支持从 CSS 命名颜色、十六进制到 NumPy 数组的多达七种颜色表示透明度支持颜色内嵌 alpha 与独立fill_alpha的乘法合成在绘图接口中还有color/alpha快捷参数可供使用且显式fill_*参数拥有更高优先级。掌握这些细节你就能精确控制 Bokeh 图形中每一个填充区域的外观表现。【免费下载链接】bokehInteractive Data Visualization in the browser, from Python项目地址: https://gitcode.com/GitHub_Trending/bo/bokeh创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

SpacetimeDB 模块日志指南:从 console/log 写入到 spacetime logs 查看与过滤 2026/9/13 16:06:30

SpacetimeDB 模块日志指南:从 console/log 写入到 spacetime logs 查看与过滤

SpacetimeDB 模块日志指南:从 console/log 写入到 spacetime logs 查看与过滤 【免费下载链接】SpacetimeDB Development at the speed of light 项目地址: https://gitcode.com/GitHub_Trending/sp/SpacetimeDB 本文围绕 SpacetimeDB 模块(Modul…

阅读更多 →
大模型Skill开发:从需求转化到企业级部署 2026/9/13 16:06:30

大模型Skill开发:从需求转化到企业级部署

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
LDPC Decoding in MATLAB: From Belief Propagation to Min-Sum Optimization 2026/9/13 16:06:30

LDPC Decoding in MATLAB: From Belief Propagation to Min-Sum Optimization

简介:面向通信算法、FPGA开发与信道编码方向的研究人员和工程师,提供一套基于MATLAB的LDPC译码算法实现。资源以码长960、码率0.5为参数,覆盖校验矩阵构造、置信传播迭代译码、定点量化模拟等完整流程,并按FPGA硬件实现的语言与时…

阅读更多 →
高能笔记:从信息记录到数据驱动决策的实战指南 2026/9/13 16:06:30

高能笔记:从信息记录到数据驱动决策的实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
JMeter接口压测:不同参数并发与参数化配置实战解析 2026/9/13 16:06:30

JMeter接口压测:不同参数并发与参数化配置实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Python天气预测项目实战:数据清洗、ARIMA与LSTM建模及可视化 2026/9/13 16:03:30

Python天气预测项目实战:数据清洗、ARIMA与LSTM建模及可视化

简介:面向计算机专业正在准备毕业设计、课程设计或期末大作业的学生,这份高分项目资料基于Python完整实现了天气数据爬取、清洗、预测与可视化链路,评审分为98分,可直接作为项目参考或二次开发基础。包内共24个文件,涵…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞