在3D剧情的Matplotlib更加黑暗的背景

时间:2013-01-15 09:07:36

标签: matplotlib

我正在matplotlib中绘制以下图片。 我的问题是,图像看起来很好,但是,我想让背景更暗,因为当我打印此图像时,灰度部分不会出现在打印中。有人可以告诉我API进行此更改吗?

我使用简单的API绘制3D曲线 -

ax.plot(X1, Y1, Z1, '^', c='r')
ax.plot(X2, Y2, Z2, 'o', c='b')

enter image description here

我也尝试了这个 -

fig = plt.figure(figsize=(10,10))
ax = fig.gca(projection='3d',  axisbg='gray')

这会将颜色更改为深灰色,但也会更改图像外的颜色 -

enter image description here

2 个答案:

答案 0 :(得分:14)

我是通过使用以下代码实现的 -

ax = fig.add_subplot(111, projection='3d')
plt.gca().patch.set_facecolor('white')
ax.w_xaxis.set_pane_color((0.8, 0.8, 0.8, 1.0))
ax.w_yaxis.set_pane_color((0.8, 0.8, 0.8, 1.0))
ax.w_zaxis.set_pane_color((0.8, 0.8, 0.8, 1.0))

答案 1 :(得分:1)

使用Matplotlib的深色背景style sheet,该背景将白色用于通常是黑色的元素(文本,边框等)

enter image description here

import numpy as np
import matplotlib.pyplot as plt


plt.style.use('dark_background')

fig, ax = plt.subplots()

L = 6
x = np.linspace(0, L)
ncolors = len(plt.rcParams['axes.prop_cycle'])
shift = np.linspace(0, L, ncolors, endpoint=False)
for s in shift:
    ax.plot(x, np.sin(x + s), 'o-')
ax.set_xlabel('x-axis')
ax.set_ylabel('y-axis')
ax.set_title("'dark_background' style sheet")

plt.show()