使用python绘制两个不同卫星计算得到的NDVI的散点图,并计算相关系数
时间: 2023-07-15 09:10:22 浏览: 231
首先,我们需要安装必要的库,包括numpy、pandas、matplotlib和scipy。可以在终端中运行以下命令来安装这些库:
```
pip install numpy pandas matplotlib scipy
```
接下来,我们需要准备一些数据。这里我们使用一个虚构的数据集,包含两个卫星计算得到的NDVI值。可以使用以下代码来生成这些数据:
```python
import numpy as np
# 生成两组 NDVI 数据
ndvi1 = np.random.rand(50)
ndvi2 = np.random.rand(50)
# 输出前五个数据点
print("NDVI1:", ndvi1[:5])
print("NDVI2:", ndvi2[:5])
```
输出结果应该类似于以下内容:
```
NDVI1: [0.09971855 0.34335935 0.93016338 0.10893441 0.81468169]
NDVI2: [0.61451044 0.5293995 0.8069242 0.58699159 0.13720328]
```
现在我们可以使用matplotlib库将这些数据绘制成散点图。可以使用以下代码来实现:
```python
import matplotlib.pyplot as plt
# 绘制散点图
plt.scatter(ndvi1, ndvi2)
# 添加标题和坐标轴标签
plt.title("NDVI Scatter Plot")
plt.xlabel("NDVI1")
plt.ylabel("NDVI2")
# 显示图形
plt.show()
```
运行代码后,应该会出现一个散点图窗口。
最后,我们可以使用scipy库来计算这两组数据的相关系数。可以使用以下代码来实现:
```python
from scipy.stats import pearsonr
# 计算相关系数
corr, _ = pearsonr(ndvi1, ndvi2)
# 输出结果
print("Correlation coefficient: {:.2f}".format(corr))
```
运行代码后,应该会输出两组数据的相关系数。
阅读全文