我有dataframe
这样:
Allotment NDII Percent NDII Value NDVI Percent NDVI Value
0 Arnston 0.0550 -0.199448 NaN NaN
1 Arnston 0.0000 -0.198036 NaN NaN
2 Arnston 0.0000 -0.196623 NaN NaN
3 Arnston 0.0000 -0.195211 NaN NaN
4 Arnston 0.0000 -0.193799 NaN NaN
5 Arnston 0.0275 -0.192386 NaN NaN
6 Arnston 0.0550 -0.190974 NaN NaN
7 Arnston 0.0000 -0.189561 NaN NaN
8 Arnston 0.0275 -0.188149 NaN NaN
9 Arnston 0.1926 -0.186737 NaN NaN
10 Anex 0.0275 -0.185324 NaN NaN
11 Anex 0.0275 -0.183912 NaN NaN
12 Anex 0.1376 -0.182499 NaN NaN
13 Anex 0.0000 -0.181087 NaN NaN
14 Anex 0.1100 -0.179675 NaN NaN
15 Anex 0.0550 -0.178262 NaN NaN
16 Anex 0.0000 -0.176850 NaN NaN
17 Anex 0.0275 -0.175437 NaN NaN
18 Anex 0.1100 -0.174025 NaN NaN
0 Arnston NaN NaN 5.0338 0.000000
1 Arnston NaN NaN 1.0000 0.002235
2 Arnston NaN NaN 0.0200 0.004469
3 Arnston NaN NaN 0.1000 0.006704
4 Arnston NaN NaN 2.0000 0.008939
5 Arnston NaN NaN 1.0000 0.011173
6 Arnston NaN NaN 2.0000 0.013408
7 Arnston NaN NaN 0.0000 0.015643
8 Arnston NaN NaN 0.0000 0.017877
9 Arnston NaN NaN 0.0000 0.020112
10 Arnston NaN NaN 0.0000 0.022346
11 Anex NaN NaN 1.0000 0.024581
12 Anex NaN NaN 3.0000 0.026816
13 Anex NaN NaN 5.0000 0.029050
14 Anex NaN NaN 0.0000 0.031285
15 Anex NaN NaN 0.0000 0.033520
16 Anex NaN NaN 0.0000 0.035754
17 Anex NaN NaN 0.0000 0.037989
18 Anex NaN NaN 0.0000 0.040224
19 Anex NaN NaN 0.0000 0.042458
20 Anex NaN NaN 0.0000 0.044693
21 Anex NaN NaN 0.0000 0.046928
22 Anex NaN NaN 0.0000 0.049162
23 Anex NaN NaN 0.0000 0.051397
24 Anex NaN NaN 0.0000 0.053631
25 Anex NaN NaN 0.0000 0.055866
26 Anex NaN NaN 0.0000 0.058101
我想基于每个分配的groupby
绘制NDVI
值和NDII
上的x-axis
值与其各自NDVI
百分比的关系NDII
上的y-axis
百分比。
我这样做:
import pandas as pd
import matplotlib.pyplot as plt
with PdfPages(r'C:\Delete.pdf') as pdf:
for i, group in df.groupby('Allotment'):
Plot=group.plot(x=['NDVI Value','NDII Value'], y=['NDVI Percent','NDII Percent'], title=str(i)).get_figure()
pdf.savefig(Plot)
但这些图表是这样的:
有没有办法设置标准x-axis
?就像我知道所有值都落在-0.5
和1
之间一样,我想将其设置为标签,但我显然需要确保绘制的线条恰当地排列。可能这里的问题源于NaN
的?
如果有办法清理dataframe
以删除那些我对此开放的内容。
如果有办法为每个分配创建两个对我来说也适用的子图
答案 0 :(得分:1)
您可以尝试set_xlim()
(在情节后称为)
这会强制您的x轴保持在0.5
和1
之间,我相信它会自动缩放它。
set_xlim(0.5,1)
定义Plot
后,会继续。
祝你好运,编码愉快!