2003031116-李忍-python数据分析第四周作业

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

 

1、扩展阅读心得:

matplotlib的常用设置:

       阅读了matplotlib的常用设置后,学习了matplotlib的常用绘图的设置,包括图像的大小设置、刻度和标注的特殊设置、增加X轴与Y轴间的间隔、移动刻度标注、调整图像边缘及图像间的空白间隔、子图像统一标题设置、图像中标记线和区域的绘制等,其中的一些操作我们已经亲自操作过,比如通过figure对象设置figsize参数来设置图像的尺寸大小,但也有些内容是我们很少用过的,通过这次阅读也学到了很多东西,通过设置 set_horizontalalignment()来控制标注的左右位置,代码为for tick in ax2.xaxis.get_majorticklabels(): tick.set_horizontalalignment("left");图像外部边缘的调整可以使用plt.tight_layout()进行自动控制等。

matplotlib进阶设置:

通过阅读matplotlib的绘图可视化的相关知识,了解了matplotlib.pyplot.plt的参数功能和用法,利用matplotlib图标正常显示中文,

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

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

其中如果不想每次使用matplotlib时都在代码部分进行配置,可以修改matplotlib的文件参数。可以用matplot.get_config()命令来找到当前用户的配置文件目录。也了解了很多配置文件的配置项,还有绘图常用的确定坐标范围plt.axis([xmin, xmax, ymin, ymax]),用xlim(xmin, xmax)和ylim(ymin, ymax)来调整x,y坐标范围。还可以多次使用figure命令来产生多个图,其中,图片号按顺序增加等。

2、课上例题,男女朋友的数量。

  • 假设大家在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 #用来正常显示负号

#X和Y的取值
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]

#设置画布
plt.figure(figsize=(15,8),dpi = 80)
plt.plot(x,y)

plt.title("男女朋友的数量趋势")#设置标题
#设置x与y的刻度
xticks_label = ["{}岁".format(i) for i in x]
yticks_label = ["{}个".format(i) for i in y]

plt.xticks(x,xticks_label)
plt.yticks(y,yticks_label)

plt.show()

结果:

 

 3、销量统计

  • 假如需要统计量一家店铺七月、八月上旬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

#设置中文
plt.rcParams['font.sans-serif']='SimHei'#用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号

#X和y1,y2的取值
x = range(1,11)
y1 = [20,50,30,5,10,55,23,33,41,22]
y2 = [5,10,32,18,20,22,36,63,82,71]

#设置画布
plt.figure(figsize=(15,8),dpi = 80)

plt.title("七月/八月上旬销量统计")#设置标题

#添加七月八月的图像
plt.plot(x,y1,label = "七月")
plt.plot(x,y2,label = "八月")

#设置x的刻度
xticks_label = ["{}日".format(i) for i in x]
plt.xticks(x,xticks_label)

#添加x轴y轴的名称
plt.xlabel("x")
plt.ylabel("y")

plt.legend(["七月上旬销售统计","八月上旬销售统计"])
plt.show()

结果:

 

posted @ 2022-03-30 11:36  李忍  阅读(31)  评论(0)    收藏  举报