如何给matplotlib图片加上渐变背景
342 字
2 分钟
如何给matplotlib图片加上渐变背景
添加渐变背景
有时候,我们希望在绘图时添加渐变背景,这样可以使图像更加美观。我们可以使用fig.figimage方法来添加渐变背景。fig.figimage方法可以在figure上添加一个图像,参数cmap表示颜色映射,参数resize表示是否调整大小,参数origin表示图像的原点位置。我们可以使用LinearSegmentedColormap.from_list()方法来创建一个颜色映射。
注意:如果使用
fig.figimage方法添加渐变背景,必须保证绘图dpi和保存dpi一致,否则会出现背景不一致的情况。
from matplotlib.colors import LinearSegmentedColormapfig = plt.figure(figsize=(cm(15), cm(10)),dpi=500)ax = plt.gca()
# 创建自定义渐变色彩映射# 斜向上,白色到蓝色渐变colors = ["white", "#ffe2e2"] # 白色到蓝色cmap = LinearSegmentedColormap.from_list("custom_gradient", colors, N=255)
# 为整个figure设置渐变背景# 首先根据dpi算出gradient宽度和高度gradient_width=int(fig.dpi*fig.get_figwidth())gradient_height=int(fig.dpi*fig.get_figheight())# 然后生成斜向上的渐变(左下到右上,白到蓝)gradient = np.linspace(0, 1, gradient_width)gradient = np.tile(gradient, (gradient_height, 1))gradient = (gradient + np.linspace(0, 1, gradient_height)[:, None]) / 2
# 将渐变设置为figure的背景fig.figimage(cmap(gradient), resize=False,origin="lower")# 确保坐标轴显示在渐变之上ax.set_zorder(10)ax.patch.set_alpha(0) # 使坐标轴背景透明,以便看到渐变之后就可以加入正常的绘图代码了,加入绘图代码后的绘图结果如下所示

如何给matplotlib图片加上渐变背景
https://www.kaimoe.cn/posts/如何给matplotlib图片加上渐变背景/ 相关文章 智能推荐
1
图片来源记录
站点说明 记录站点中使用到的外部图片原始出处,便于后续核对与补充。
2
使用Pymatgen计算PhaseDiagram
Pymatgen 使用 Pymatgen 构建相图时常用的导入与基础代码示例。
3
Pymatgen计算Gibbs自由能
Pymatgen 记录使用 Pymatgen 处理 Gibbs 自由能与相图分析时的基础代码入口。
4
Ubuntu上neovim和lazyvim配置
Linux 记录在 Ubuntu 上安装新版 Neovim 并配置 LazyVim 的实际步骤。
5
Matplot颜色cmap设置
Matplotlib 总结 Matplotlib 内置与自定义 cmap 的基本用法,并附带颜色预览示例。
随机文章 随机推荐
开萌笔记本