第1关:美国犯罪率数据散点图绘制——散点图的基本绘制

# -*- coding: utf-8 -*-
import pandas as pd #用于生成满足绘图要求的数据格式
from matplotlib import pyplot as plt #用于绘制散点图
# import statsmodels.api as sm #用于局部加权回归

crime=pd.read_csv(r"matplotlibScatter/csv/crimeRatesByState2005.csv") #返回值为二维标记数据结构 DataFrame
def plot():
    # ********* Begin *********#

    fig,ax=plt.subplots() #subplots返回画布和子图
    crime2=crime[~crime['state'].isin(['District of Columbia','United States'])] #  获    取没有全美平均值和华盛顿特区的犯罪率数据
    ax.plot(crime2["murder"],crime2["burglary"],"*",color="#00AAFF") #绘制散点图
    ax.set_xlabel("crime murder", fontsize=12)  #设置x轴标签
    ax.set_ylabel("crime burglary", fontsize=12)  #设置y轴标签
    ax.set_xlim(0,10) #x轴范围从0到10
    ax.set_ylim(0,1200) #y轴范围从0到1200
    plt.show() #展示图像


    # ********* End *********#
    plt.savefig('matplotlibScatter/studentanswer/level_1/crime.png') #保存为png格式
    plt.close() #关闭画布窗口

第2关:美国犯罪率数据散点图绘制——局部加权回归

# -*- coding: utf-8 -*-
import pandas as pd #用于生成满足绘图要求的数据格式
from matplotlib import pyplot as plt#用于绘制散点图
import statsmodels.api as sm #用于局部加权回归
 
crime=pd.read_csv(r"matplotlibScatter/csv/crimeRatesByState2005.csv") #返回值为二维标记数据结构 DataFrame
def plot():
    # ********* Begin *********#
 
    plt.figure(figsize=(8,4))
    fig,ax=plt.subplots()
    crime2=crime[~crime['state'].isin(['District of Columbia','United States'])]
    lowess = sm.nonparametric.lowess(crime2["burglary"],crime2["murder"])
    ax.plot( lowess[ :,0],lowess[ :,1])
    ax.plot(crime2["murder" ], crime2["burglary"],"*",color="#00CC88")
    ax.set_xlabel("crime murder" ,fontsize=12)
    ax.set_ylabel("crime burglary" ,fontsize=12)
    ax.set_title("美国谋杀率和入室盗窃率",fontproperties="SimHei",fontsize=16)
    ax.set_xlim(0,10) 
    ax.set_ylim(0,1200)
    plt.show()
 
    # ********* End *********#
    plt.savefig('matplotlibScatter/studentanswer/level_2/crime.png') #保存为png格式
    plt.close() #关闭画布窗口
Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐