python - 设置 matplotlib 3d 网格的透明度(alpha)

标签 python matplotlib plot

我想更改 matplotlib 3d 图中网格的透明度。

但我发现它不像 2d 那样容易,简单来说就是 plt.grid(alpha=0.2)

这里我给出一个迷你代码

import numpy as np
import matplotlib.pyplot as plt

data = np.random.randn(3, 100)

fig = plt.figure()
ax = fig.add_subplot(projection='3d')

ax.scatter(data[0], data[1], data[2])

# How to change the grid transparency?

plt.show()

enter image description here

如何设置x、y、z网格的透明度?


我已经尝试过:

  1. 使用ax.zaxis._axinfo['grid'].update({"alpha": 0.1})。但它似乎没有 key alpha

  2. 我在这里查看了ax.grid()的源代码in github 。从评论来看,似乎 alpha 功能根本没有针对 3d 案例实现。

最佳答案

plt.grid 似乎对 3d 绘图没有任何作用。但是您可以使用 rcparams 将颜色设置为 RGB+Alpha 元组:

import numpy as np
import matplotlib.pyplot as plt

# fourth parameter is alpha=0.1
plt.rcParams['grid.color'] = (0.5, 0.5, 0.5, 0.1)

data = np.random.randn(3, 100)

fig = plt.figure()
ax = plt.axes(projection ="3d")

ax.scatter(data[0], data[1], data[2])

plt.show()

结果:

enter image description here

关于python - 设置 matplotlib 3d 网格的透明度(alpha),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67545542/

相关文章:

python - 使用 Django 进行日期过滤——如何将开始和结束日期发送到我的 View ?

python - 在 Python 中设置字典值,同时从最大允许总值中减去

python - 如何使用 gridspec 调整列宽?

图中的 R 科学记数法

python - 在推文中查找表情符号作为整个簇而不是单个字符

python - 按列任意排序矩阵

python - 如何消除 matplotlib 保存的图形中的边距?

pandas - 为什么在绘制数据透视表时,图例标题中会出现 'None'?

python - 具有两个关键数据帧的堆积条形图

R: `plot.ts()` ylab 中的希腊字母