2017-02-16 64 views
0

我想添加填充到我的情节的左侧和右侧。 但是当我改变xlim和ylim;图像变小。如何在python中添加填充图?

我做错了什么?

import matplotlib.pyplot as plt 
plt.rcParams['text.usetex'] = False 
from matplotlib.font_manager import FontProperties 
import seaborn as sns 
%matplotlib inline 



df1=df['Total Acc'].round(4)*100 
labels = ['AWA','Rem', 'S1', 'S2', 'SWS', 'SX', 'ALL'] 


rows = [df1.loc[label] for label in labels] 
for row in rows: 
    row.plot(figsize=(10, 5), marker='o') 


# http://matplotlib.org/api/legend_api.html ---set_bbox_to_anchor(bbox, transform=None) 
myLegend=plt.legend(labels, bbox_to_anchor=(0., 1.15, 1., .102), prop ={'size':10}, loc=10, ncol=7, #left, bottom, width, height 
       title=r'LEARNING CURVE - Fp1_RF(20)')           
myLegend.get_title().set_fontsize('18') 


plt.ylim(97.5, 98.5) 
plt.xlim(0, 45) 

plt.xlabel('# of samples per subject') 
plt.ylabel('Accuracy') 

enter image description here

回答

1

如果您matplotlib身影是越来越修剪,你可以使用Tight Layout。详细信息提供here

在代码中,尝试添加

plt.tight_layout() 

另一种选择,你可以尝试是使用subplots_adjust()。基本上它可以控制左侧,右侧,底部和顶部的默认间距以及多行和多列之间的水平和垂直间距。 Sample Example here

plt.subplots_adjust(left=0.5, right=0.5) 
+0

它们都不工作。曲线从x = 10开始。我想轴开始在0.这就是为什么我使用:plt.xlim(0,45)。这是行不通的。同时如果我这样做的Y轴(plt.ylim(0,91);它的作品。 – Aizzaac