修复x轴matplotlib的比例

时间:2015-10-07 23:03:03

标签: python pandas matplotlib dataframe

我有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.51之间一样,我想将其设置为标签,但我显然需要确保绘制的线条恰当地排列。可能这里的问题源于NaN的?

如果有办法清理dataframe以删除那些我对此开放的内容。

如果有办法为每个分配创建两个对我来说也适用的子图

1 个答案:

答案 0 :(得分:1)

您可以尝试set_xlim()(在情节后称为) 这会强制您的x轴保持在0.51之间,我相信它会自动缩放它。

set_xlim(0.5,1)
定义Plot后,

会继续。

祝你好运,编码愉快!