You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Julia的Makie.jl中为stairs!()绘图下方区域填充指定透明度?

给Matplotlib stairs()的下方区域填充带透明度的颜色

直接用fill_between()配合stairs()生成的阶梯数据就能实现,以下是具体实现代码和说明:

代码示例

import matplotlib.pyplot as plt
import numpy as np

# 构造测试数据
x_edges = np.arange(0, 10)
y_vals = np.random.randint(1, 7, size=len(x_edges)-1)

# 绘制基础阶梯图
step_plot = plt.stairs(y_vals, x_edges, linewidth=2, color='black')

# 生成填充用的连续坐标点
# 把阶梯的边界和值展开成fill_between能识别的连续序列
fill_x = np.repeat(step_plot.get_x(), 2)[1:-1]
fill_y = np.repeat(step_plot.get_y(), 2)

# 填充阶梯与x轴之间的区域,alpha控制透明度
plt.fill_between(fill_x, fill_y, y2=0, color='gray', alpha=0.4)

# 可选:添加标签和图例
plt.xlabel('X')
plt.ylabel('Y')
plt.title('带透明填充的阶梯图')
plt.show()

关键细节

  • 透明度控制:alpha参数设为0到1之间的数值,比如alpha=0.4就是40%透明度,数值越小越透明。
  • 颜色自定义:把color参数改成你需要的颜色值即可,比如color='#555555'对应深灰,color='lightblue'对应浅蓝。
  • 简化写法:如果不想手动处理坐标,也可以直接获取阶梯图的路径来填充,代码如下:
# 替代fill_between的写法,直接填充阶梯路径
for path in step_plot.get_paths():
    plt.fill(path, color='gray', alpha=0.4)

内容的提问来源于stack exchange,提问作者jn_br

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 14:15:13