[英]Fix scale for x-axis matplotlib
我有一個這樣的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
以刪除那些我也願意。
如果有一種方法可以為每個分配創建兩個子地塊也對我有用
您可以嘗試set_xlim()
(在繪圖后調用)這應該會強制您的 x 軸保持在0.5
和1
之間,我相信它會自動縮放它。
set_xlim(0.5,1)
會在你定義Plot
之后去。
祝你好運,編碼愉快!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.