import pandas as pd import matplotlib.pyplot as plt import numpy as np# 读取数据 data= pd.read_csv('StudentPerformance.csv',encoding='gb18030') #with open('data.csv', 'r', encoding='gbk') as f: #data = f.read()print(data.head()) plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False plt.style.use('bmh') plt.rcParams['axes.prop_cycle'] = plt.cycler('color', ['r', 'g', 'b']) fig, axs = plt.subplots(2, 2, figsize=(10, 10), hspace=0.5) for i, score in enumerate(['A', 'B', 'C']): axs[0, 0].scatter(df[df['score'] == score]['courseware_views'], df[df['score'] == score]['raise_hands'], color=plt.cm.bright(i)) axs[0, 0].legend(['A', 'B', 'C']) axs[0, 0].set_title('成绩类别与浏览课件次数和举手次数的散点图') axs[0, 0].set_xlabel('浏览课件次数') axs[0, 0].set_ylabel('举手次数')