Python 使用statsmodel更改fig大小
我正在尝试使用statsmodel软件包制作QQ图。然而,该图的分辨率太低,我不可能在演示中使用结果 我知道,要使networkX图形打印出更高分辨率的图像,我可以使用:Python 使用statsmodel更改fig大小,python,matplotlib,statsmodels,Python,Matplotlib,Statsmodels,我正在尝试使用statsmodel软件包制作QQ图。然而,该图的分辨率太低,我不可能在演示中使用结果 我知道,要使networkX图形打印出更高分辨率的图像,我可以使用: plt.figure( figsize=(N,M) ) networkx.draw(G) 并改变N和M的值以获得理想的结果 然而,当我使用statsmodel软件包中的QQ图尝试相同的方法时,它似乎对结果图的大小没有影响,即当我使用 plt.Figure( figsize = (N,M) ) statsmodels.qqpl
plt.figure( figsize=(N,M) )
networkx.draw(G)
并改变N和M的值以获得理想的结果
然而,当我使用statsmodel软件包中的QQ图尝试相同的方法时,它似乎对结果图的大小没有影响,即当我使用
plt.Figure( figsize = (N,M) )
statsmodels.qqplot_2samples(sample1, sample2, line = 'r')
改变M和N对图形大小没有影响。关于如何解决这个问题(以及为什么这个方法不起作用)有什么想法吗?您可以在打印之前使用
mpl.rc\u context
临时设置默认的figsize
import numpy as np
import matplotlib as mpl
from statsmodels.graphics.gofplots import qqplot_2samples
np.random.seed(10)
sample1 = np.random.rand(10)
sample2 = np.random.rand(10)
n, m = 6, 6
with mpl.rc_context():
mpl.rc("figure", figsize=(n,m))
qqplot_2samples(sample1, sample2, line = 'r')
函数的
qqplot_2samples
有一个ax
参数,允许您指定
应在其上绘制绘图的matplotlib轴对象。如果你不供应
单击ax,然后为您创建一个新的轴对象
因此,作为cel解决方案的替代方案,如果您希望创建自己的身材,
然后,还应将地物的轴对象传递到qqplot_2samples
:
sm.qqplot_2samples(sample1, sample2, line='r', ax=ax)
比如说,
import scipy.stats as stats
import matplotlib.pyplot as plt
import statsmodels.api as sm
N, M = 6, 5
fig, ax = plt.subplots(figsize=(N, M))
sample1 = stats.norm.rvs(5, size=1000)
sample2 = stats.norm.rvs(10, size=1000)
sm.qqplot_2samples(sample1, sample2, line='r', ax=ax)
plt.show()
这是一个很好的解决方案,也适用于其他情节——我投了更高的票。下面是acf和pacf图的实现
N, M = 12, 6
fig, ax = plt.subplots(figsize=(N, M))
plot_pacf(df2, lags = 40, title='Daily Female Births', ax=ax)
plt.show()
在绘图之前,只需使用plt.rc(“figure”,figsize=(16,8))。检查此链接
import numpy as np
import matplotlib as mpl
from statsmodels.graphics.gofplots import qqplot_2samples
np.random.seed(10)
sample1 = np.random.rand(10)
sample2 = np.random.rand(10)
n, m = 6, 6
with mpl.rc_context():
mpl.rc("figure", figsize=(n,m))
qqplot_2samples(sample1, sample2, line = 'r')
我使用了plt.rc()
plt.rc(“图”,figsize=(10,6))
sm.graphics.tsa.plot_acf(漂亮的价格50,滞后=36000);
这是一个很好的解决方案-我更喜欢这个,而不是我的。这是一个很好的解决方案,它适用于其他类似的绘图。以下是按如下方式导入的自相关(acf)和偏自相关(pacf)绘图的实现:来自statsmodels.graphics.tsaplots导入绘图acf,绘图pacf