爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4245|回复: 5

Meteoinfo画散点密度图,读取数据出现问题

[复制链接]

新浪微博达人勋

发表于 2017-5-24 16:58:30 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 呼小喵喵 于 2017-5-25 13:53 编辑

  参照王老师之前发的脚本,对读取数据那块进行了修改,结果还是错误。求指导脚本如下:

#Create normal distribution point data
fn = 'f:/lightning-0514/0514IC.txt'
tf = open(fn)
x1 = []
y1 = []
for aline in tf:
  if aline.isspace():
     continue
     datalist = aline.split()
      x = float(datalist[1])
      y = float(datalist[0])
      x1.append(x)
      y1.append(y)
  x = array(x1)
  y = array(y1)  
  
#Calculate point density
x_g = linspace(x.min(), x.max(), 100)
y_g = linspace(y.min(), y.max(), 100)
z2,x2,y2,z = griddata((x,y), None, xi=(x_g, y_g), method='inside_count')

#Sort the points by density, so that the densest points are plotted last
idx = argsort(z)
x = x[idx]
y = y[idx]
z = z[idx]

#Plot scatter point colored by density
ls = scatter(x, y, s=4, c=z, edgecolor=None, cnum=20)
colorbar(ls)
title('Scatter density plot example')


提示错误如下:
File "<iostream>", line 10
    x = float(datalist[1])
    ^
SyntaxError: mismatched input '' expecting DEDENT


数据就两列:
0514IC.txt (189.58 KB, 下载次数: 20)

scatter-IC0514.py

793 Bytes, 下载次数: 5, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-5-24 16:59:14 | 显示全部楼层
#Create normal distribution point data
fn = 'f:/lightning-0514/0514IC.txt'
tf = open(fn)
x1 = []
y1 = []
for aline in tf:
  if aline.isspace():
     continue
     datalist = aline.split()
      x = float(datalist[1])
      y = float(datalist[0])
      x1.append(x)
      y1.append(y)
  x = array(x1)
  y = array(y1)  
  
#Calculate point density
x_g = linspace(x.min(), x.max(), 100)
y_g = linspace(y.min(), y.max(), 100)
z2,x2,y2,z = griddata((x,y), None, xi=(x_g, y_g), method='inside_count')

#Sort the points by density, so that the densest points are plotted last
idx = argsort(z)
x = x[idx]
y = y[idx]
z = z[idx]

#Plot scatter point colored by density
ls = scatter(x, y, s=4, c=z, edgecolor=None, cnum=20)
colorbar(ls)
title('Scatter density plot example')
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-5-24 19:24:37 | 显示全部楼层
应该是代码缩进的问题。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-5-24 21:47:04 | 显示全部楼层
MeteoInfo 发表于 2017-5-24 19:24
应该是代码缩进的问题。

好的,谢谢王老师,我自己研究研究~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-5-25 13:42:31 | 显示全部楼层
本帖最后由 呼小喵喵 于 2017-5-25 13:50 编辑
MeteoInfo 发表于 2017-5-24 19:24
应该是代码缩进的问题。

王老师,我解决问题了,谢谢老师。~
#Create normal distribution point data
fn = 'D:/temp/0514IC.txt'
tf = open(fn)
tf.readline()
aline = tf.readline()
x1 = []
y1 = []
for aline in tf:
    datalist = aline.split()
    y = float(datalist[0])
    x = float(datalist[1])
    x1.append(x)
    y1.append(y)
x = array(x1)
y = array(y1)  

#Calculate point density
x_g = linspace(x.min(), x.max(), 100)
y_g = linspace(y.min(), y.max(), 100)
z2,x2,y2,z = griddata((x,y), None, xi=(x_g, y_g), method='inside_count')

#Sort the points by density, so that the densest points are plotted last
idx = argsort(z)
x = x[idx]
y = y[idx]
z = z[idx]

#Plot scatter point colored by density
ls = scatter(x, y, s=4, c=z, edgecolor=None, cnum=20)
colorbar(ls)
title('Scatter density plot example')


密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-10-13 00:04:21 | 显示全部楼层
Traceback (most recent call last):
  File "<iostream>", line 20, in <module>
TypeError: 'NoneType' object is not iterable

为什么报错了呢?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表