无废话直接放代码
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from osgeo import gdal
import numpy.ma as ma
mpl.use('TkAgg') #pycharm没有这句就会报错,用jupyter notebook可以不写这句
#打开文件
data = gdal.Open("E:\GISandRS\RS\L9.tif")
arr = data.ReadAsArray()
#提取出来其中一个波段
band = arr[3]
#掩膜去除空值
mask = band == 65535 #因为数据是16位无符号的,65535其实就是因为数据不是正方向的矩形产生的空值,自己的数据空值有没有是什么数值把掩膜去掉检查
maband = ma.array(band,mask = mask,fill_value=None)
#降维展开ndarray,不然用matplotlib画不出来
onedim = maband.flatten()
#使用matplotlib画图
plt.hist(onedim,bins = 500,range = (0,40000))
plt.show()