matplotlib 不起作用

matplotlib does not work

我的代码如下所示。整个代码正在绘制两个光栅图像散点图以查看相关性。但是错误消息一直告诉我 valueerror:x 和 y 必须大小相同。我很确定 x 和 y 大小相同。有人可以帮忙吗

from matplotlib import pyplot as plt
import netCDF4 as net
import numpy as np
hailprob=net.Dataset("/ab20140723.nc")
hailsize=net.Dataset("ailI20140723L3C_CONUS.nc")
hp=hailprob.variables['HailProb'][:]
hs=hailsize.variables['HailIndx'][:]
hp=np.array(hp)
hp1=np.where(hp>0)
hs=np.array(hs)
hs1=np.where(hs>0)
hp2=hp[hp1]
hs2=hs[hs1]
hp2.flatten()
hs2.flatten()
plt.scatter(hp2,hs2) 
main_title="scatter plot"
plt.title(main_title,loc='center')
plt.minorticks_on()
plt.tick_param(which='major',direction='in',length=6,width=2)
plt.tick_params(which='minor', direction='in', length=4, width=2)
plt.show()

如果要过滤 hp 或 hs 小于或等于零的值对,则可以执行如下操作:

mask = (hp > 0) & (hs > 0)
hp = hp[mask]
hs = hs[mask]

通过这种方式,您 select 来自两个数组的相同值,因此最终展平的数组应该具有相同的大小。