【已解决】Matplotlib.contourf()绘图出来的是散点图?

将data.csv读取为dataframe格式,使用contourf()函数绘制色斑图,出来的是散点图(如左图所示),求教是哪里出问题了呢?

已知:data为二维数组,index为纬度,columns为经度,虽然空值较多,但不至于上图那么少。以下为代码:

BIAS = pd.read_csv('bias.csv', index_col=0)
BIAS.columns = pd.to_numeric(BIAS.columns)

lat_max = 65.25
lat_min = -65.00
lon_max = 180.25
lon_min = 70.00
lon_list = np.arange(lon_min, lon_max, 0.25)
lat_list = np.arange(lat_min, lat_max, 0.25)
      
X,Y = np.meshgrid(lon_list,lat_list)

fig = plt.figure(figsize=(10,10),dpi=600)
plt.contourf(X,Y, BIAS)
plt.show()

另附数据info:

BIAS.columns:  <class 'pandas.core.indexes.numeric.Float64Index'> 
Float64Index([  70.0,  70.25,   70.5,  70.75,   71.0,  71.25,   71.5,  71.75,
              ...
              177.75,  178.0, 178.25,  178.5, 178.75,  179.0, 179.25,  179.5,
              179.75,  180.0],
             dtype='float64', length=441)
BIAS.index:  <class 'pandas.core.indexes.numeric.Float64Index'> 
Float64Index([ -65.0, -64.75,  -64.5, -64.25,  -64.0, -63.75,  -63.5, -63.25,
              ...
               62.75,   63.0,  63.25,   63.5,  63.75,   64.0,  64.25,   64.5,
               64.75,   65.0],
             dtype='float64', length=521)

dataframe_slice:

           130.00    130.25  130.50    ...       134.50  134.75    135.00
-3.00     NaN       NaN     NaN    ...          NaN     NaN       NaN
-2.75     NaN -0.319621     NaN    ...    -1.413187     NaN -1.125203
-2.50     NaN  0.295499     NaN    ...    -1.246102     NaN -1.711159
-2.25     NaN       NaN     NaN    ...          NaN     NaN       NaN
-2.00     NaN  0.293512     NaN    ...    -1.041067     NaN -0.246944
-1.75     NaN       NaN     NaN    ...          NaN     NaN       NaN
-1.50     NaN -0.204240     NaN    ...    -1.204510     NaN -0.612140
-1.25     NaN       NaN     NaN    ...          NaN     NaN       NaN
-1.00     NaN -0.159136     NaN    ...    -0.610413     NaN -0.539897
-0.75     NaN -0.073586     NaN    ...    -0.344249     NaN -0.034906
-0.50     NaN       NaN     NaN    ...          NaN     NaN       NaN
-0.25     NaN  0.076376     NaN    ...    -0.237410     NaN -0.073891
 0.00     NaN       NaN     NaN    ...          NaN     NaN       NaN
 0.25     NaN -0.108317     NaN    ...    -0.610359     NaN -0.377135
 0.50     NaN       NaN     NaN    ...          NaN     NaN       NaN
 0.75     NaN -0.519466     NaN    ...    -0.659523     NaN -0.341980
 1.00     NaN -0.148386     NaN    ...     0.133854     NaN -0.138352
 1.25     NaN       NaN     NaN    ...          NaN     NaN       NaN
 1.50     NaN -1.028926     NaN    ...    -0.050999     NaN -0.048413
 1.75     NaN       NaN     NaN    ...          NaN     NaN       NaN
 2.00     NaN -1.240767     NaN    ...    -0.560600     NaN -0.607143
 2.25     NaN -0.919045     NaN    ...    -0.472667     NaN -0.574608
 2.50     NaN       NaN     NaN    ...          NaN     NaN       NaN
 2.75     NaN -0.466895     NaN    ...    -0.779426     NaN -0.727661
 3.00     NaN       NaN     NaN    ...          NaN     NaN       NaN

[25 rows x 21 columns]
<class 'numpy.float64'>

------手动分界线------

换了个思路,数据输出成numpy之后可以plt.scatter(),contourf()始终不行....

效果如下:

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值