matplotlib作业
折线图的1.
# -*- coding: utf-8 -*-
import pandas as pd #用于生成满足绘图要求的数据格式
import numpy as np #用于展示横坐标
from matplotlib import pyplot as plt #用于绘制折线图
population = pd.read_csv(r"LineChart/level1/csv/world-population.csv") #返回值为二维标记数据结构 DataFrame
def plot():
# ********* Begin *********#
fig,ax=plt.subplots()
my_x_ticks = np.arange(1960, 2011, 5)
plt.xticks(my_x_ticks)
plt.grid(b=True, color='r', linestyle='--', linewidth=1, alpha=0.3, axis='x', which="major") #设置网格
ax.plot(population["Year"],population["Population"], linewidth=1, c='#00CC88', marker='*', markersize=4) #绘制点和折线
ax.set_xlabel("Year", fontsize=12) #设置x轴标签
ax.set_ylabel("Population", fontsize=12)
plt.show()
# ********* End *********#
plt.savefig('LineChart/level1/studentanswer/world-population.png') #保存为png格式
plt.close() #关闭画布窗口
import pandas
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
data=pandas.read_excel("test/各省GDP.xlsx",dtype={"年份":str})
df = data.groupby(['年份'])['GDP'].sum()
x = list(df.index)
y = list(df)
plt.figure(figsize=(10,10))
plt.bar(x, y)
plt.title('GDP条状图')
plt.savefig("image1/gdptxt.jpg")
import pandas
import matplotlib
matplotlib.use("agg")
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
data=pandas.read_excel("test/银行信息.xlsx")
df = data.groupby('省份')['银行编号'].count()
x = list(df.index.str[:2])
y = list(df)
plt.figure(figsize=(10,10))
plt.pie(y, labels=x)
plt.title('银行省份分布图')
plt.savefig("image2/yhbt.jpg")
import pandas
import matplotlib
matplotlib.use("Agg")
import numpy as np
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
data=pandas.read_excel("test/银行信息.xlsx")
#代码开始
df = data.groupby('银行种类')['银行编号'].count().sort_values(ascending=False).head(10)
x = list(df.index)
y = list(df)
plt.figure(figsize=(10,10))
plt.plot(x, y)
plt.title('银行种类折线图')
#代码结束
plt.savefig("image3/yhzxt.jpg")
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import pandas as pd
import datetime
df=pd.read_excel("tbsc/step1/统计数据.xlsx",sheet_name="日期统计")
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
#代码开始
plt.figure(figsize=(10, 14))
plt.xlabel('日期')
plt.ylabel('金额')
plt.ylim(0,1800)
plt.gca().xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%Y-%m-%d'))
plt.xlim(datetime.date(2000, 5, 20), datetime.date(2000,7,18))
plt.xticks(pd.date_range('2000-5-20','2000-7-18'), rotation=90)
plt.title('日期销售')
plt.plot(df["日期"].dt.date, df["合计金额"])
#代码结束
plt.savefig("image4/rqzxt.jpg")
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
plt.figure(figsize=(10,14))
lb=["烟","饮料","零食","酒"]
j=1
for x in lb:
df=pd.read_excel("tbsc/step2/类别销售.xlsx",sheet_name=x)
sj=df.groupby("商品名称")["数量"].sum()
sj.sort_values(ascending=False,inplace=True)
sj.index=sj.index.str.replace("\t","")
sp=sj[:3]
plt.subplot(2,2,j)
for i in range(0,3):
plt.bar(x=i*0.5, height=sj[i],width=0.2,label=sj.index[i])
plt.text(i*0.5,sj[i]+1,sj[i])
j=j+1
plt.xticks([0,0.5,1],[1,2,3])
plt.title(x)
plt.legend()
plt.savefig("image5/lbzxt.jpg")
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_excel("tbsc/step3/统计数据.xlsx",sheet_name="类别统计")
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
#代码开始
plt.figure(figsize=(10,10))
pjz=df["合计金额"].mean()/5
df1=df.loc[df["合计金额"]>=pjz]
qthj=df.loc[df["合计金额"]<pjz]["合计金额"].sum()
df1=df1.append({
"类别":"其他","合计金额":qthj},ignore_index=True)
plt.pie(df1["合计金额"],labels=df1["类别"],autopct="%0.2f%%")
plt.title('各类别销售分布')
#代码结束
plt.savefig("image6/lbbt.jpg")

浙公网安备 33010602011771号