2014-01-28 5 views
8

Я сделал поверхностный график с некоторыми данными на Python.Изменение цвета линии в plot_surface

enter image description here

Теперь я попытался изменить стиль такого сюжета. Но, к сожалению, я застрял в линии цвета. Он по умолчанию черный, но я хочу сделать его красным или любым другим цветом.

Мой код:

from mpl_toolkits.mplot3d import Axes3D 

import matplotlib.pyplot as plt 
from matplotlib import cm 
import numpy as np 

data=np.loadtxt("test.txt") 


def formateU(data): 
    U = np.zeros((20,20)) 
    for value in data: 
     U[value[0],value[1]] = value[2] 
    return U 

U = formateU(data) 


y,x=np.meshgrid(np.linspace(0.,19,20),np.linspace(0.,19,20)) 

fig = plt.figure() 

ax=plt.axes(projection='3d') 

ax.plot_surface(x,y,U,rstride=1,cstride=1,alpha=0,linewidth=0.5) 

ax.view_init(30, 45) 

plt.savefig("test.png") 

plt.show() 

Это кажется очевидным, что это должно быть дополнительным аргументом в:

ax.plot_surface(x,y,U,rstride=1,cstride=1,alpha=0,linewidth=0.5) 

, но я не могу понять это.

Вы можете мне помочь?

test.txt доступен на http://www.file-upload.net/download-8564062/test.txt.html

+1

Попробуйте 'r'' edgecolors = '! – Jakob

+0

Он работает! Спасибо! – Andy

+0

['plot_surface()'] (http://matplotlib.org/mpl_toolkits/mplot3d/api.html#mpl_toolkits.mplot3d.axes3d.Axes3D.plot_surface) также принимает аргументы 'color' и' cmap'. – MattDMo

ответ

7

Как найти нужные ключевые слова:
plot_surface метод создает Poly3DCollection, который основан на PolyCollections. Последние получают ключевые слова, такие как edgecolors (или facecolors).

В вашем примере:

ax.plot_surface(x,y,U,rstride=1,cstride=1,alpha=0,linewidth=0.5, edgecolors='r') 

enter image description here

3

Поскольку вы установили alpha к нулю и не построении поверхности плитки, вы можете рассмотреть возможность использования plot_wireframe вместо этого, где color устанавливает линию цвет (а не цвет плитки, как в plot_surface).

Но, как предложил Якоб, edgecolors также будет работать.

 Смежные вопросы

  • Нет связанных вопросов^_^