在Python Matplotlib中更改3D曲面图中的网格线粗细

时间:2017-01-29 16:30:06

标签: python matplotlib plot mplot3d

我试图在像example from Matplotlib's website这样的表面图的背景中更改构成网格的线条的粗细和透明度:

Example 3D surface plot

这是源代码:

NavigationBar

我试过打电话给TabBar,但这似乎没有什么区别。还有其他方法可以改变厚度吗?

2 个答案:

答案 0 :(得分:1)

在mplot3d中设置网格参数的方法是更新相应轴的_axinfo字典。

要在y方向上设置网格的线宽,请使用例如

ax.yaxis._axinfo["grid"]['linewidth'] = 3.

这是一个一般例子:

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.gca(projection='3d')
ax.set_xlabel("x"); ax.set_ylabel("y"); ax.set_zlabel("z")
print ax.xaxis._axinfo

ax.xaxis._axinfo["grid"].update({"linewidth":1, "color" : "green"})

ax.yaxis._axinfo["grid"]['linewidth'] = 3.

ax.zaxis._axinfo["grid"]['color'] = "#ee0009"
ax.zaxis._axinfo["grid"]['linestyle'] = ":"


plt.show()

enter image description here

答案 1 :(得分:0)

plt.rcParams['grid.linewidth'] = 3