2003031111—姜钧源--Python数据分析第四周作业—第二次作业

项目

matplotlib的使用

课程班级博客链接

班级博客

这个作业要求链接

作业要求

博客名称

2003031111—姜钧源—Python数据分析第四周作业—第二次作业

要求

每道题要有题目,代码,截图。

拓展阅读的心得:

扩展阅读1:matplotlib常用设置

扩展阅读2:matplotlib进阶设置

心得:

了解到了matplotlib 是一个Python下的2D绘图库,能够在跨平台的交互环境中产生各种硬拷贝格式的印刷级的图形,Matplotlib的功能和matlab中的画图的功能十分类似。因为matlab进行画图相对来说比较复杂,所以使用python中的Matplotlib来画图比较方便。同时学会了plt.rcParams['font.sans-serif']=['SimHei'] 是显示中文标签 plt.rcParams['axes.unicode_minus']=False 这两行需要手动设置两句话直接解决中文字体乱码问题,不用去下载ttf。subplots得到的子图如果不画,会显示白框。所以用subplot即可,不用subplots。图例有个prop属性,设置为字典可以调节图例的大小。

对于matplotlib的负号和中文问题,在导入matplotlib模块之后,只需要加上下面两句代码即可:

import matplotlib.pyplot as plt
 plt.rcParams['font.sans-serif'] = ['SimHei'] 
 plt.rcParams['axes.unicode_minus'] = False   

常用:

figure:画布,一张图片得整体轮廓
Axes:数轴,一张画布上可以画多张图片
axis:坐标轴,通常得x轴,y轴等
tick:刻度,坐标轴上得刻度
title: 图片得标题
legend:图例
grid: 网格
label:标签说明

作业题目:

  • 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
plt.rcParams["font.sans-serif"]='SimHei'
plt.rcParams["axes.unicode_minus"]=False
plt.figure(figsize=(20,11),dpi=90)
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]
_x_ticks=["{}岁".format(i) for i in x]
_y_ticks=[range(10)]
plt.xticks(x[::1],_x_ticks[::1])
plt.plot(x,y)
plt.xlabel("年龄")
plt.ylabel("")
plt.title("11岁到30岁之间每年交往的男(女)朋友数")
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=(25, 13), dpi=100)
x = range(1, 11)
k= [20, 50, 30, 5, 10, 55, 23, 33, 41, 22]
n= [5, 10, 32, 18, 20, 22, 36, 63, 82, 71]
plt.plot(x, k, label="7月")
plt.plot(x, n, 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()

 

2022--3--27  19:16:55

小姜

 

posted @ 2022-03-27 19:21  小姜不养鱼  阅读(30)  评论(0编辑  收藏  举报