2003031123-钱兴浪-python数据分析第四周作业

       项目 内容                      
课程班级博客链接  https://edu.cnblogs.com/campus/pexy/20sj
这个作业要求链接                           https://edu.cnblogs.com/campus/pexy/20sj/homework/12564
博客名称 2003031123-钱兴浪-python数据分析第四周作业
要求 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)。

拓展阅读的心得:

扩展阅读:matplotlib常用设置

扩展阅读:matplotlib进阶设置

学会了图像大小设置,刻度和标注特殊设置,还有移动刻度标注,还了解了一些绘图可视化知识点。主要学习了matplotlib图标正常显示中文、matplotlib inline和pylab inline模式、为项目设置matplotlib参数、线条相关属性标记设置、pyplot.pie参数。虽然有点多,但内容简单。

作业题目:

  • 1.课上例题,男女朋友的数量。
    • 假设大家在30岁的时候,根据自己的实际情况,统计出来了从11岁到30岁每年交的女(男)朋友的数量如列表a,请绘制出该数据的折线图,以便分析自己每年交女(男)朋友的数量走势
    • a = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
    • 要求: y轴表示个数 x轴表示岁数,比如11岁,12岁等

 

代码

#导入绘图包
from matplotlib import pyplot as plt 
import random


#解决Windows平台下matplotlib中文问题
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']   #设置简黑字体
mpl.rcParams['axes.unicode_minus'] = False # 解决‘-’bug

# 定义图片大小
plt.figure(figsize=(20,9),dpi = 80)
# 定义X轴
x = range(11,31)
# 导入数据
y = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]

# 取步长操作
# 取步长操作
_xtick_labels = ["{}岁".format(i) for i in range(11,31)]

# 取步长为2,数字和字符串一一对应,数据的长度一样
plt.xticks(list(x)[::2],_xtick_labels[::2],rotation = 45) # rotation旋转的度数
#定义Y轴
plt.yticks(range(0,9))

plt.xlabel("年龄")
plt.ylabel("所谈(男)女朋友的个数")
plt.title("统计分析自己每年交女(男)朋友的数量走势折线图")

#绘制网格,并且改变网格透明度
plt.grid(alpha = 0.4)
plt.plot(x,y)
#plt.savefig(".\p3.png")
plt.show()

 

  • 2.销量统计
    • 假如需要统计量一家店铺七月、八月上旬1-10日每天店铺产品销量个数,并进行销量趋势对比
    • 七月销量:[20,50,30,5,10,55,23,33,41,22]
    • 八月销量:[5,10,32,18,20,22,36,63,82,71]
    • 绘制折线图,横轴为日期,纵轴为销量

代码

from matplotlib import pyplot as plt
from matplotlib import font_manager
 
# 解决中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.serif'] = ['SimHei']
 
# 设置字体
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
 
# 设置画布大小
plt.figure(figsize=(20,10),dpi=80)
 
x = range(1, 11)
y_1 = [20,50,30,5,10,55,23,33,41,22]
y_2 = [5,10,32,18,20,22,36,63,82,71]
 
plt.plot(x, y_1,label="7月")
plt.plot(x, y_2, label="8月")
_x = x
_xtick_labels = ["{}日".format(i) for i in _x]
plt.xticks(x, _xtick_labels, fontproperties = my_font)
 
plt.title("1号到10号店铺产品销量情况",fontproperties = my_font)
 
plt.legend(prop = my_font,loc = "best")
 
# 绘制网格
plt.grid(alpha = 0.5)
 
plt.show()

 

posted @ 2022-03-31 15:19  钱兴浪  阅读(32)  评论(0)    收藏  举报