Python数据分析第四周作业
2003031105—官家园—Python数据分析第四周作业—matplotlib的学习
|
项目 |
matplotlib的学习 |
|
课程班级博客链接 |
https://edu.cnblogs.com/campus/pexy/20sj |
|
作业链接 |
https://edu.cnblogs.com/campus/pexy/20sj/homework/12564 |
|
博客名称 |
2003031105—官家园—Python数据分析第四周作业—matplotlib的学习 |
|
要求 |
每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果) |
题目一:扩展阅读,撰写学习心得
对于图像的大小设置,刻度和标注特殊设置 ,增加X轴与Y轴间的间隔,向右移动X轴标注一点点即可 ,移动刻度标注 , 调整图像边缘及图像间的空白间隔 ,子图像统一标题设置的知识点和 图像中标记线和区域的绘制。这些matplotlib的常用设置都是学习绘制图表的不可缺少的相关方法,但是对于解决图中坐标轴处无法显示中文和负号的问题还是需要我们特别注意。很多时候我们都会不小心忽略这个问题,下面则是解决的方法:
在阅读了matplotlib进阶设置之后才知道绘制图表竟有如此多的功能,对于这些进阶设置在我一 一 的尝试后发现运用这些进阶设置来绘制图像就很方便快捷,而且绘制出来的图表更加的全面。我们也可以进行扩展学习,比如Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现。但是,使用 Matplotlib 绘制三维图像实际上是在二维画布上展示,所以一般绘制三维图像时,同样需要载入 pyplot 模块。所以我们不用局限于老师教的和课本书上所有的知识,只有在课后进行更全面的学习才行。
题目二:
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和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] #设置x与y的刻度 _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[‘axes.unicode_minus‘] = False#用来正常显示负号 my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc") plt.figure(figsize=(25, 13), dpi=100) #X和k,n的取值范围 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()

ending 2022.3.29
浙公网安备 33010602011771号