Python nuage de points 3d palette problème
J'ai quatre dimensions (x, y, z déplacements; et tensions respectives) que je souhaite de terrain dans un nuage de points 3d en python. J'ai obtenu la graphique 3d pour le rendu, mais je veux avoir la couleur des points à modifier à l'aide d'un colourmap, dépend de l'ampleur de la point de tension.
J'ai essayé quelques petites choses, mais n'arrive pas à le faire fonctionner, j'obtiens le message d'erreur ValueError: Cannot convert argument type <type 'numpy.ndarray'> to rgba array
. Je ne suis pas sûr exactement comment convertir ce dont j'ai besoin pour convertir, donc, si quelqu'un pourrait s'il vous plaît offrir de l'aide, je lui en serais très reconnaissant.
Mon code est ici:
fig = plt.figure()
from mpl_toolkits.mplot3d import Axes3D
cmhot = plt.cm.get_cmap("hot")
ax = fig.add_subplot(111, projection='3d',)
ax.scatter(x, y, z, v, s=50, c = cmhot)
plt.show()
c
est les valeurs à cartographier et la kwarg cmap
est la couleur de la carte à la carte c
avec. matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.scatterOriginalL'auteur samanthapants | 2013-02-24
Vous devez vous connecter pour publier un commentaire.
ax.scatter peut prendre un paramètre de couleur
c
qui est une séquence (par exemple, unlist
ou unarray
) de scalaires, et uncmap
paramètre pour spécifier une couleur de la carte. Afin de rendre les couleurs varient en fonction de la ampleur des tensions, vous pouvez définir:Cela rend les tensions positives et négatives de la même couleur. Si, au contraire, vous avez souhaité que chaque couleur (positif ou négatif) d'avoir sa propre couleur, vous pouvez simplement utiliser
c = v
.Par exemple,
Hm, c'est un curieux problème. Désolé, je ne connais pas la solution. J'ai googlé autour de lui, mais ne pouvait pas trouver d'autres questions et/ou des rapports de ce comportement. Vous voudrez peut-être essayer de poster une question ici à propos de comment résoudre ce problème, ou le contrôle de vos .matplotlibrc fichier de configuration (de la recherche pour "bleu" ou "backend" ou il suffit de parcourir pour voir si quelque chose ressemble à un coupable), ou-si elle n'est pas trop difficile-la réinstallation de pythonxy.
PS. Je ne pense pas que vous êtes manquant un forfait, depuis
plt.get_cmap("hot")
ne soulève pas une Exception.Il est (était?) un bug dans
matplotlib
, voir ce fil sur de la SORTE: stackoverflow.com/questions/8971309/...OriginalL'auteur unutbu