设置matplotlib三维栅格的透明度(alpha)

2024-04-29 16:45:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我想更改matplotlib 3d plot中栅格的透明度

但我发现这并不像2d那么简单,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})。但它似乎没有alpha

  2. 我在这里检查了ax.grid(){a2}的源代码。从评论中可以看出alpha功能似乎根本没有为3d案例实现


Tags: 代码importalphanumpydataplotmatplotlibas
1条回答
网友
1楼 · 发布于 2024-04-29 16:45:46

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

相关问题 更多 >