← 返回题库
初级

综合学术面板图(学术图表)

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    import pandas as pd
    import matplotlib.pyplot as plt
    import numpy as np
    
    url = 'https://liangdaima.com/static/data/wooldridge/wage1.csv'
    df = pd.read_csv(url)
    
    fig, axes = plt.subplots(2, 2, figsize=(14, 10))
    plt.rcParams['font.size'] = 12
    axes[0,0].hist(df['wage'], bins=20, color='gray', edgecolor='black', alpha=0.7)
    axes[0,0].set_title('(a) 工资分布')
    axes[0,1].scatter(df['educ'], df['wage'], alpha=0.3, color='black', s=20)
    z = np.polyfit(df['educ'], df['wage'], 1)
    axes[0,1].plot(df['educ'].sort_values(), np.poly1d(z)(df['educ'].sort_values()), 'k--', linewidth=2)
    axes[0,1].set_title('(b) 教育与工资')
    gender_means = df.groupby('female')['wage'].mean()
    axes[1,0].bar(['男性', '女性'], gender_means.values, color='white', edgecolor='black')
    axes[1,0].set_title('(c) 性别工资差距')
    exp_groups = pd.cut(df['exper'], bins=[0, 10, 20, 50]).value_counts().sort_index()
    axes[1,1].bar([str(x) for x in exp_groups.index], exp_groups.values, color='gray', edgecolor='black')
    axes[1,1].set_title('(d) 经验分布')
    for ax in axes.flat:
        ax.grid(alpha=0.3)
    fig.suptitle('工资决定因素综合分析', fontsize=16, fontweight='bold')
    plt.tight_layout()
    plt.show()
    return "可视化代码执行完成"

示例

输入
print(solve())
期望输出
可视化代码执行完成
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码