如何在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
相关产品推荐
相关产品推荐

