2017-06-17 6 views
2

J'essaie de comprendre comment créer des graphiques de surface avec Plots.jl. Je peux créer une surface sphérique d'un maillage 2-D comme ci-dessous:Plots.jl - Mapper la couleur de surface à la matrice

enter image description here

using Plots 
plotlyjs() 
# Read the theta and phi angles from file... 
x2d = sind(theta2d).*cosd(phi2d) 
y2d = sind(theta2d).*sind(phi2d) 
z2d = cosd(theta2d) 
surface(x2d,y2d,z2d) 

Cependant, je veux avoir la couleur de la surface est contrôlée par une matrice séparée comme le tracé ci-dessous (à base de python).

enter image description here

from mayavi import mlab 
# Create/read plot data... 
mlab.figure(bgcolor=(1,1,1), fgcolor=(0.,0.,0.)) 
mlab.mesh(x2d, y2d, z2d, scalars=p2d, colormap='jet', vmax=5, vmin=-35) 

Peut-être que je devrais utiliser les fonctions Python directement complotant? Ou peut-être GLVisualiser directement?

Merci!

Répondre

2

Vous pouvez fournir la matrice contrôlant les couleurs en tant que mot-clé fill_z. Cela ne fonctionne pas sur tous les backends, mais essayez plotljys et pyplot.

+1

Exactement ce que je cherchais - j'ai testé avec PyPlot et PlotlyJS. Merci! – nalyd88