удаление теней с поверхности графика в питоне - PullRequest
1 голос
/ 15 февраля 2012

Когда я запускаю прикрепленный код Python (часть из него является ненужным, оставленным от рисунка, который я пытаюсь сгенерировать), я получаю поверхность с двумя оттенками.(темно и светло-красный), есть ли способ превратить это в один оттенок?

import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import sys
from math import sqrt,exp,log, sin
from pylab import rcParams

rcParams['figure.figsize'] = 30,26
fig = plt.figure()
ax = fig.add_subplot(211, projection='3d')

l = 7
sigma = 1.0/277.450924284104 #You are stupid so have found the charge density for surface potentail of exactly 62mV
pi = 3.14159
b = 1.0/(2*pi*sigma*l)
lambdaD = 9.5

X0, Y0 = np.mgrid[0:1:100j, 0:1:100j]
Z0 = np.zeros_like(X0)
for i in range(0,len(X0)):
    for j in range (0, len(X0[i])):
        Z0[i][j] = 10*sin(X0[i][j]*2*pi)


ax.plot_surface(X0,Y0,Z0,color='red', linewidth=0, rstride=10, cstride=10, antialiased=False)
ax.set_axis_off()

enter image description here

1 Ответ

2 голосов
/ 15 февраля 2012

Конечно, просто укажите от shade=False до ax.plot_surface.

Кроме того, абсолютно не нужно использовать вложенные циклы или указывать размер фигуры с помощью rcParams.

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

fig = plt.figure(figsize=(30, 26))
ax = fig.add_subplot(111, projection='3d')

X0, Y0 = np.mgrid[0:1:100j, 0:1:100j]
Z0 = 10 * np.sin(X0 * 2 * np.pi)


ax.plot_surface(X0,Y0,Z0,color='red', linewidth=0, rstride=10, cstride=10, 
                antialiased=False, shade=False)
ax.set_axis_off()

plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...