首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过plt.text实现的长度-1数组和Python

通过plt.text实现的长度-1数组和Python
EN

Stack Overflow用户
提问于 2015-07-30 11:12:29
回答 2查看 1.3K关注 0票数 0

我正在尝试使用plt.text来绘制一个地块上相关的lat/lon点的温度值。

在查看了plt.text文档之后,似乎绘制的值(第三位arg)必须是一个数字,而这个数字必须是一个完整的数字,而不是一个带有小数的数字。

下面是我试图使用的代码和正在接收的相关跟踪错误:

脚本代码:

代码语言:javascript
运行
复制
data = np.loadtxt('/.../.../.../tmax_day0', delimiter=',', skiprows=1)
grid_x, grid_y = np.mgrid[-85:64:dx, 34:49:dx]
temp = data[:,2]
#print temp
grid_z = griddata((data[:,1],data[:,0]), data[:,2], (grid_x,grid_y), method='linear')
x,y = m(data[:,1], data[:,0]) # flip lat/lon
grid_x,grid_y = m(grid_x,grid_y)
#m.plot(x,y, 'ko', markersize=2)

def str_to_float(str):
    try:
       number = float(str)
    except ValueError:
       number = 0.0
    return number

fmt = str_to_float(temp)
#annotate point temperature on plot
plt.text(grid_x, grid_y, fmt, fontdict=None)

跟踪错误:

代码语言:javascript
运行
复制
Traceback (most recent call last):
File "plotpoints.py", line 56, in <module>
fmt = str_to_float(temp)
File "plotpoints.py", line 51, in str_to_float
number = float(str)
TypeError: only length-1 arrays can be converted to Python scalars

来自文本文件的数据示例tmax_day0:

代码语言:javascript
运行
复制
latitude,longitude,value
36.65408,-83.21783,90
41.00928,-74.73628,92.02
43.77714,-71.75598,90
44.41944,-72.01944,88.8
39.5803,-79.3394,79
38.3154,-76.5501,86
38.91444,-82.09833,94
40.64985,-75.44771,92.6
41.25389,-70.05972,81.2
39.45202,-74.56699,90.88
EN

回答 2

Stack Overflow用户

发布于 2015-07-30 14:05:45

我只能使用以下代码来绘制数据值:

代码语言:javascript
运行
复制
for i in range(len(temp)):
plt.text(x[i], y[i], temp[i], va="top", family="monospace")

结果:

票数 1
EN

Stack Overflow用户

发布于 2015-07-30 12:08:49

您不是使用“适当”数组,而是使用numpy数组。Numpy数组不能很好地处理非numpy函数。

从你的评论来看,这是编辑过的。

您首先需要修复字符串,因此它是一个正确的数组。

代码语言:javascript
运行
复制
fmt = fmt[0].split() 

我认为应该创建一个新的(正常的)字符串数组。然后将它映射到一个浮标数组:

代码语言:javascript
运行
复制
list_of_floats = np.array(map(float, fmt))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31722226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档