Python与Matplotlib:重采样图表,如何指定绘制的坐标轴

2024-05-18 23:40:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着绘制一条曲线的重采样结果,如下所示:

enter image description here

问题是我还想绘制其他曲线,比如:

enter image description here

现在我只能用这样的代码逃脱惩罚:

import pandas as pd    
data = np.random.randn(100000)
df = pd.DataFrame(data)

fig = plt.figure(figsize=(22,4))
for i in xrange(1,100):
    df_resampled = df.sample(frac=0.1, replace=True)
    ecdf = sm.distributions.ECDF(data)
    x = np.linspace(min(data), max(data))
    y_cdf = ecdf(x)

    ax1 = fig.add_subplot(1,2,1) 
    plt.plot(x, y_cdf, '-')

    ax2 = fig.add_subplot(1,2,2) 
    plt.plot(np.log(x), np.log(-np.log(1-y_cdf)),'-')

我想知道我是否做对了(使用ax1和{})。如果有更干净的守则?在


Tags: logadddfdataplotnpfig绘制
1条回答
网友
1楼 · 发布于 2024-05-18 23:40:38

我假设sub_df.sample来自使用pandas,但这并没有说明。请注意,除非您提供一些最小的数据,否则人们无法执行您的代码。请退房:Minimal, Complete, Verifiable example

问题也不那么清楚,看来你是在重复一个没有必要的计算。您只需存储所有样本:

samples=[]
for i in xrange(1,100):
    sub_df_resampled = sub_df.sample(frac=0.3, replace=True)  
    samples.append(sub_df_resampled)

然后再利用它们。 即使这样,我也不清楚for循环中的绘图线是如何使用的样品。在那里并不表示正在打印的项目已使用示例进行更新。在

相关问题 更多 >

    热门问题