我正在尝试从数据集中绘制两个不同x和y范围的图形。我对plt.figure、plt.subplot和plt.axes之间的交互感到困惑。
假设我要绘制代表不同特征(用字母A-G表示的贷款)的值("ROI")的线,对于不同的贷款期限('term'),'发行日期'的范围是不同的(例如,对于36个月的期限,自2007年以来已经发放了贷款,而对于60个月的期限,仅自2011年以来才开始发放贷款)。
以下是我所拥有的伪代码。
这个版本的屏幕和文件输出中,第一个图表(term == 36)的大小比第二个小得多。我想通过定义两个具有相同尺寸的单独图形来解决这个问题,您觉得可行吗?感谢您提前的帮助!
假设我要绘制代表不同特征(用字母A-G表示的贷款)的值("ROI")的线,对于不同的贷款期限('term'),'发行日期'的范围是不同的(例如,对于36个月的期限,自2007年以来已经发放了贷款,而对于60个月的期限,仅自2011年以来才开始发放贷款)。
以下是我所拥有的伪代码。
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from itertools import groupby
alpha_grades = ('A','B','C','D','E','F','G')
color_scheme = {'A':'b','B':'g','C':'r','D':'c','E':'m','F':'y','G':'k'}
for term in [36,60]:
for grade in alpha_grades:
if ( term == 36 ):
plt.figure(1,figsize=(12,9))
else:
plt.figure(2,figsize=(12,9))
df[(df['grade'] == grade) & (df['term']==term)].groupby(
'issue_date')['ROI'].mean().plot(color=color_scheme[grade],label = ("Grade: %s" % grade))
plt.legend(loc=2)
title = ("%i Mo Lending Rate by Rating" % term)
plt.title(title)
这个版本的屏幕和文件输出中,第一个图表(term == 36)的大小比第二个小得多。我想通过定义两个具有相同尺寸的单独图形来解决这个问题,您觉得可行吗?感谢您提前的帮助!
plt.figure
时,它会创建一个新的图形。更可能的是,您想要调用plt.subplot
。第一次调用应该像这样:plt.subplot(1, 2, 1)
,第二次调用应该是plt.subplot(1, 2, 2)
(参数为:nrows,ncols,plot_number)。 - askewchan