Python数据分析第四周作业
项目 | 内容 |
课程班级博客链接 | 20级数据班(本) |
这个作业要求链接 | Python数据分析第四周作业 |
博客名称 | 2003031124—邱云龙—Python数据分析第四周作业-numpy的简单操作 |
要求 | 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)。 |
题目一 扩展阅读,心得体会。
1、*扩展阅读:matplotlib常用设置
心得:
- 使用起来极为简单。
- 以渐进、交互式方式实现数据可视化。
- 表达式和文本使用LaTeX排版。
- 对图像元素控制力强。
- 可输出PNG、PDF、SVG和EPS等多种格式。
可以开启多窗口模式
在交互模式下,plt.plot()就可显示图像,不需要plt.show()(plt.draw()可以用来刷新图像)
阻塞模式下,只能打开一个窗口,关掉了才能打开另一个
一般matplotlib默认是开启交互模式的(plt.ioff()关闭)
shell中一般是阻塞模式
2、*扩展阅读:matplotlib进阶设置
心得:基本绘画设置(Figure和Subplot,颜色、标记和线型及添加刻度和标签)
题目一 作业题目
- 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]
- 绘制折线图,横轴为日期,纵轴为销量
import matplotlib.pyplot as plt #设置中文 plt.rcParams['font.sans-serif']='SimHei' plt.rcParams['axes.unicode_minus']=False #画布设置 plt.figure(figsize=(20,9),dpi = 80) 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] #设置标题,显示y1,y2的名称 plt.plot(x,y1,label = "七月") plt.plot(x,y2,label = "八月") plt.legend(['七月','八月']) #横纵坐标命名 plt.ylabel("销量") plt.xlabel("日期") xticks_label = ["{}日".format(i) for i in x] #标题 plt.title('七月、八月上旬1-10日每天店铺产品销量个数') # x 坐标刻度尺 plt.xticks(x,xticks_label) #展示 plt.show()