项目 matplotlib的使用
课程班级博客链接 班级博客
这个作业要求链接 作业要求
博客名称 2003031118—李伟—Python数据分析第四周作业—第二次作业
要求 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)。

拓展阅读的心得:

扩展阅读:matplotlib常用设置

扩展阅读:matplotlib进阶设置

学会了matplotlib的一些基本的使用。图像的大小设置、刻度和标注特殊设置(直接在X轴上标注和通过注释annotate的形式标注在合适的位置)、增加X轴和Y轴的间隙、移动刻度标注、调整图像边缘及图像的空白间隙、子图像统一标题设置、图像中标记线和区域的绘制。

为了在图表中能够显示中文和负号等,需要下面一段设置:

1 import matplotlib.pyplot as plt
2 plt.rcParams['font.sas-serig']=['SimHei'] #用来正常显示中文标签
3 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

在代码执行过程中,有两种方式更改参数:

  • 使用参数字典(rcParams)
  • 调用matplotlib.rc()命令 通过传入关键字元祖,修改参数

作业题目:

  • 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岁等
运行代码及截图
 1 #引入模块
 2 from matplotlib import pyplot as plt
 3 #配置中文
 4 plt.rcParams["font.sans-serif"]='SimHei'
 5 plt.rcParams["axes.unicode_minus"]=False
 6 #设置画布大小
 7 plt.figure(figsize=(15,8),dpi=100)
 8 #引入x,y的值
 9 x=range(11,31)
10 y=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
11 #设置x,y轴的范围
12 _x_ticks=["{}岁".format(i) for i in x]
13 _y_ticks=[range(10)]
14 plt.xticks(x[::1],_x_ticks[::1])
15 
16 plt.plot(x,y)
17 plt.xlabel("年龄")
18 plt.ylabel("")
19 plt.title("11岁到30岁之间每年交往的男(女)友数")
20 
21 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]

运行代码及截图

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

 

 

 

posted on 2022-03-27 13:10  Genius$LW  阅读(60)  评论(0)    收藏  举报