提示:仅供我的舍友学习使用。
第1关:“大胃王”比赛数据柱形图绘制
代码如下(示例):
# -*- coding: utf-8 -*-
import pandas as pd
from matplotlib import pyplot as plt
hot_dog = pd.read_csv(r"matplotlib_bar/csv/hot-dog-contest-winners.csv")
def plot():
# ********* Begin *********#
fig, ax = plt.subplots() #subplots返回画布和子图
ax.bar(hot_dog["Year"],hot_dog["Dogs eaten"]) #绘制柱形图,第一个参数为x轴变量,第二个参数为y轴变量
plt.show() #显示图像
# ********* End *********#
plt.savefig('matplotlib_bar/studentfile/studentanswer/level_1/US.png')
plt.close()
第2关:
代码如下(示例):
# -*- coding: utf-8 -*-
import pandas as pd
from matplotlib import pyplot as plt
hot_dog = pd.read_csv(r"matplotlib_bar/csv/hot-dog-contest-winners.csv")
def plot():
# ********* Begin *********#
ig,ax=plt.subplots()
ax.bar(hot_dog["Year"],hot_dog["Dogs eaten"],width=[0.6],color=unitedStatesColor()) #添加指定的宽度
plt.show()
ax.set_xlabel("Year") #设置x轴标签
ax.set_ylabel("Dogs Eaten") #设置y轴标签
ax.set_title("Hotdog game scores 1980-2010") #设置标题
ax.set_xlim(1979,2011) #设置x轴数据限值
plt.rcParams['figure.figsize'] = (8.0, 4.0) #设置figure_size尺寸
# ********* End *********#
plt.savefig('matplotlib_bar/studentfile/studentanswer/level_2/US.png')
plt.close()
plt.savefig('matplotlib_bar/studentfile/studentanswer/level_2/hotdog.png')
#保存png文件
def unitedStatesColor():
# ********* Begin *********
#"打破记录的年份显示为粉红色,其余年份为灰绿色"
list=[]
for i in hot_dog["New record"]:
if 'country'=='United States':
list.append("#DB7093")
else:
list.append("#5F9F9F")
return list
# ********* End *********#
1:犯罪率数据散点图
代码如下(示例):
# -*- coding: utf-8 -*-
import pandas as pd #用于生成满足绘图要求的数据格式
from matplotlib import pyplot as plt #用于绘制散点图
#import statsmodels.api as sm #用于局部加权回归
from matplotlib.backends.backend_pdf import PdfPages
crime=pd.read_csv(r"matplotlibScatter/csv/crimeRatesByState2005.csv")
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="#00CC88")
ax.set_xlabel("crime murder", fontsize=12) #设置x轴标签
ax.set_ylabel("crime burglary", fontsize=12)
ax.set_xlim(0,10) #x轴范围从0到10
ax.set_ylim(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 *********#
fig,ax=plt.subplots() #subplots返回画布和子图
crime2=crime[~crime['state'].isin(['District of Columbia','United States'])] #获取没有全美平均值和华盛顿特区的犯罪率数据
ax.plot(crime2["murder"],crime2["burglary"],"*",color="#00CC88")
ax.set_xlabel("crime murder", fontsize=12) #设置x轴标签
ax.set_ylabel("crime burglary", fontsize=12)
ax.set_xlim(0,10) #x轴范围从0到10
ax.set_ylim(0,1200)
plt.show()
# ********* End *********#
plt.savefig('matplotlibScatter/studentanswer/level_2/crime.png') #保存为png格式
plt.close() #关闭画布窗口