如何在python中为绘图添加填充?

Aiz*_*aac 5 python matplotlib python-3.x pandas seaborn

我试图在我的情节的左侧和右侧添加填充。但是当我改变 xlim 和 ylim 时;图像变小。

我究竟做错了什么?

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')  
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Spa*_*att 12

如果您的 matplotlib 图被修剪,您可以使用Tight Layout. 此处提供的详细信息

在您的代码中,尝试添加

plt.tight_layout()
Run Code Online (Sandbox Code Playgroud)

您可以尝试的另一个选项是使用subplots_adjust(). 基本上,它使您可以控制左侧、右侧、底部和顶部的默认间距以及多行和多列之间的水平和垂直间距。示例示例在这里

plt.subplots_adjust(left=0.5, right=0.5)
Run Code Online (Sandbox Code Playgroud)

  • 他们都不起作用。曲线从 x=10 开始。我希望轴从 0 开始。这就是我使用:plt.xlim(0, 45) 的原因。这是行不通的。同时,如果我对 Y 轴执行此操作 (plt.ylim(0, 91); 它会起作用。 (2认同)