感谢您的回复。
我得到它与花车一起工作,但也许你们都可以告诉我为什么。我刚刚在这里创建了一个帐户,无法编辑我的访客问题...
我从一个 sqlite 数据库中获取我的数据。我可以将 sql 中的值四舍五入或转换为浮点数,它可以工作。我猜数据是一个数字对象,即使它是数字的。这是正确的吗?
以下是无效代码的摘录。我通过将值转换为浮点数来使其工作。
import sqlite3
import re
import numpy as np
from numpy import *
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
conn = sqlite3.connect('./RES/resDB.dbl')
fig = plt.figure()
ax = Axes3D(fig)
sam = array([])
x = array([])
y = array([])
z = array([])
for sv in conn.execute('select sam,easting,northing,altitude from trx_all'):
sam = np.append(sam, [sv[0]]) #this works: sam = np.append(sam, [float(sv[0])])
x = np.append(x, [sv[1]]) #this works: x = np.append(x, [float(sv[1])])
y = np.append(y, [sv[2]]) #this works: y = np.append(y, [float(sv[2])])
z = np.append(z, [sv[3]]) #this works: z = np.append(z, [float(sv[3])])
if sam.__len__() > 0:
print(repr(x))
print(repr(y))
print(repr(z))
ax.scatter(x, y, z, marker='o')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title("3D plot")
plt.show()
unutbu 请求 print(repr(x)) 的输出:
x: array([u'227004.744896075', u'227029.694213685', u'227051.351657645', ...,
u'226416.484484696', u'226436.436477995', u'226401.253669657'],
dtype='U16')
y: array([u'3648736.75423911', u'3648737.3357031', u'3648746.34280013', ...,
u'3645870.67565062', u'3645893.61216942', u'3645866.95833722'],
dtype='U16')
z: array([u'1600.2589433603', u'1535.77224937826', u'1429.01016684435', ...,
u'341.064685015939', u'343.452275622636', u'312.491347198375'],
dtype='U16')
最后是它在 ax.scatter(x,y,z,marker='o') 行上输出的错误:
Traceback (most recent call last):
File "C:\stripped_3dplot.py", line 27, in
ax.scatter(x, y, z, marker='o')
File "C:\Python27\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py", line 1019, in scatter
patches = Axes.scatter(self, xs, ys, *args, **kwargs)
File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 5813, in scatter
minx = np.amin(temp_x)
File "C:\Python27\lib\site-packages\numpy\core\fromnumeric.py", line 1846, in amin
return amin(axis, out)
TypeError: cannot perform reduce with flexible type
就像我说的,我认为这只是错误的类型,但如果你们都可以告诉我是什么类型导致了错误,我可以学到一些东西。
谢谢。