2017-06-23 4 views
-1

J'essaie de tracer un tracé 3D à partir d'un tableau p. Cependant, j'ai une erreur. Quelle est la raison et comment puis-je surmonter cela?ValueError dans matplotlib

code

import matplotlib as mpl 
from mpl_toolkits.mplot3d import Axes3D 
import numpy as np 
import matplotlib.pyplot as plt 
mpl.rcParams['legend.fontsize'] = 10 
fig = plt.figure() 
ax = fig.gca(projection='3d') 
x=p[:, 0] 
y=p[:, 1], 
z=p[:, 2], 
ax.plot(x, y, z) 
ax.legend() 
plt.show() 

Erreur

Traceback (most recent call last): 

    File "<ipython-input-51-6e9ef1b4241b>", line 11, in <module> 
    ax.plot(x, y, z) 

    File "C:\Users\Ramdayal\Anaconda3\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py", line 1537, in plot 
    lines = Axes.plot(self, xs, ys, *args[argsi:], **kwargs) 

    File "C:\Users\Ramdayal\Anaconda3\lib\site-packages\matplotlib\__init__.py", line 1897, in inner 
    return func(ax, *args, **kwargs) 

    File "C:\Users\Ramdayal\Anaconda3\lib\site-packages\matplotlib\axes\_axes.py", line 1406, in plot 
    for line in self._get_lines(*args, **kwargs): 

    File "C:\Users\Ramdayal\Anaconda3\lib\site-packages\matplotlib\axes\_base.py", line 407, in _grab_next_args 
    for seg in self._plot_args(remaining, kwargs): 

    File "C:\Users\Ramdayal\Anaconda3\lib\site-packages\matplotlib\axes\_base.py", line 360, in _plot_args 
    raise ValueError('third arg must be a format string') 

ValueError: third arg must be a format string 
+0

Quelle est votre véritable question? Et qu'avez-vous essayé jusqu'ici? L'erreur de valeur que vous obtenez devrait être un bon indice de ce qui ne va pas. –

+0

Les questions cherchant l'aide au débogage ("** pourquoi ce code ne fonctionne-t-il pas? **") doivent inclure le comportement souhaité, un problème ou une erreur spécifique et le code le plus court nécessaire pour le reproduire ** dans la question même ** . Les questions sans un ** problème clair statement ** ne sont pas utiles aux autres lecteurs. Voir: [Comment créer un exemple vérifiable minimal, complet et ] (https://stackoverflow.com/help/mcve). –

+0

Je reçois ValueError: troisième argument doit être une chaîne de format, Comment puis-je résoudre? – user8174493

Répondre

0

Vous définissez votre y et z comme tuples: y = something, entraînerait (something,), alors que vous voulez vraiment avoir y = something sans virgule.

x=p[:, 0] 
y=p[:, 1] #remove comma 
z=p[:, 2] #remove comma 
ax.plot(x, y, z)