Python 类型错误:ufunc';sqrt&x27;在basemap中打印颜色贴图时,输入类型不受支持
我想用彩色地图画一个关于房价和地理坐标之间关系的散点图Python 类型错误:ufunc';sqrt&x27;在basemap中打印颜色贴图时,输入类型不受支持,python,matplotlib-basemap,colormap,Python,Matplotlib Basemap,Colormap,我想用彩色地图画一个关于房价和地理坐标之间关系的散点图 from mpl_toolkits.basemap import Basemap lats = df['latitude'].as_matrix() lons = df['longitude'].as_matrix() zoom_scale = 0 bbox = [np.min(lats)-zoom_scale,np.max(lats)+zoom_scale,\ np.min(lons)-zoom_scale,np.
from mpl_toolkits.basemap import Basemap
lats = df['latitude'].as_matrix()
lons = df['longitude'].as_matrix()
zoom_scale = 0
bbox = [np.min(lats)-zoom_scale,np.max(lats)+zoom_scale,\
np.min(lons)-zoom_scale,np.max(lons)+zoom_scale]
plt.figure()
m = Basemap(projection='merc',llcrnrlat=bbox[0],urcrnrlat=bbox[1],\
llcrnrlon=bbox[2],urcrnrlon=bbox[3],resolution='i')
m.drawcoastlines()
m.drawrivers()
x,y = m(lons,lats)
cm = plt.cm.get_cmap('coolwarm')
plot = m.scatter(x,y,'o',c = df['price'],cmap=cm)
plt.colorbar(plot)
plt.title("House Price with Geographic Coordinate")
plt.show()
控制台显示一个类型错误:
中的TypeError回溯(最近一次调用) TypeError:输入类型不支持ufunc“sqrt”,并且无法根据强制转换规则“安全”将输入安全强制为任何支持的类型 我怎样才能解决这个问题?
致以最诚挚的问候从
plt.scatter
行中取出'o'
。这是scatter
绘图的问题。这可以通过明确提及您提供的参数来解决
所以,改变
plot = m.scatter(x,y,'o',c = df['price'],cmap=cm)
到
一些免费提示:使用散点图时,避免直接命名函数参数,即:
plt.scatter(x,y,'blue')
宁可使用
plt.scatter(x,y,color='blue')
此外,要在日常编程中包含调试,首先只需将散点绘制为plot=m.scatter(x,y)
。然后,继续增加属性,如颜色、形状等
注意:直线图中不容易出现此错误(
plt.plot(x,y,'red')
将起作用)直线plot=m.scatter(x,y,'o',c=df['price',cmap=cm)
,df['price']的内容是什么?如果你在没有c=df['price']
的情况下运行代码,它是否有效?我打算绘制每个坐标的房价,看看它们之间是否有任何关系。如果我删除了c=df['price']和cmap设置,控制台仍然会给我相同的错误。请尝试不使用'o',这在散布中是不必要的。
plt.scatter(x,y,'blue')
plt.scatter(x,y,color='blue')