项目

内容

课程班级博客链接

20级数据班(本)

作业链接

Python第四周作业第二次作业

博客名称

2003031121-浦娟-python数据分析第四周作业-matolotlib的应用

要求

每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)。

题目一:扩展阅读,撰写学习心得。

1.扩展阅读:matplotlib常用设置

阅读心得:知道了如何用matolotlib设置图像大小、设置刻度和标注、移动刻度标注(通过设置 set_horizontalalignment()来控制标注的左右位置)知道了增加X轴与Y轴间的间隔只需要右移动X轴标注一点点即可。图像外部边缘的调整可以使用plt.tight_layout()进行自动控制,如果想同时控制图像外侧边缘以及图像间的空白区域,可以使用命令plt.subplots_adjust(left=0.2,bottom=0.2,right=0.8 top=0.8,hspace=0.2, wspace=0.3)。在每个matolotlib绘图的设置下边都有一段代码,在自己操作写作业代码时可以很好的参考。

2.扩展阅读:matplotlib进阶设置

阅读心得:在阅读之后我知道了在图表中能够显示中文和负号等,需要下面一段设置:

import matplotlib.pyplot as plt

plt.rcParams['font.sas-serig']=['SimHei'] #用来正常显示中文标签

plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

看到了不熟悉的知识点:为项目设置matolotlib参数配置文件包括:axex: 设置坐标轴边界和表面的颜色、坐标刻度值大小和网格的显示
backend: 设置目标暑促TkAgg和GTKAgg
figure: 控制dpi、边界颜色、图形大小、和子区( subplot)设置
font: 字体集(font family)、字体大小和样式设置
grid: 设置网格颜色和线性
legend: 设置图例和其中的文本的显示
line: 设置线条(颜色、线型、宽度等)和标记
patch: 是填充2D空间的图形对象,如多边形和圆。控制线宽、颜色和抗锯齿设置等。
savefig: 可以对保存的图形进行单独设置。例如,设置渲染的文件的背景为白色。
verbose: 设置matplotlib在执行期间信息输出,如silent、helpful、debug和debug-annoying。
xticks和yticks: 为x,y轴的主刻度和次刻度设置颜色、大小、方向,以及标签大小。还有很多很多的matplotlib可视化绘图的知识点需要记忆,需要学习,这些扩展在后面的作业中都基本

题目二:

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 #用来正常显示负号
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]
pl = plt.figure(figsize=(12,6),dpi=80)#确定画布大小
plt.plot(x,y)
plt.title("男女朋友的数量趋势")#添加标题
plt.xlabel("岁数")#添加x轴标题
plt.ylabel("个数")#添加y轴标题
xticks_label=["{}岁".format(i) for i in x]
yticks_label=["{}个".format(i) for i in y]
plt.xticks(x,xticks_label)#规定x轴的刻度
plt.yticks(y,yticks_label)#规定y轴的刻度
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 #设置中文
plt.rcParams['font.sans-serif']='SimHei'#用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
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]
pl = plt.figure(figsize=(12,6),dpi=80)#确定画布大小
plt.plot(x,y1,label = "七月")
plt.plot(x,y2,label = "八月")
plt.title("七月八月上旬销量对比")#添加标题
plt.xlabel("日期")#添加x轴标题
plt.ylabel("销量")#添加y轴标题
xticks_label=["{}日".format(i) for i in x]
plt.xticks(x,xticks_label)#规定x轴的刻度
plt.legend(["七月上旬销量", "八月上旬销量"])
plt.show()

结果:

2003031121-浦娟-python数据分析第四周作业-第二次作业的更多相关文章

  1. 2003031121——浦娟——Python数据分析第七周作业——MySQL的安装及使用

    项目 要求 课程班级博客链接 20级数据班(本) 作业要求链接 Python第七周作业 博客名称 2003031121--浦娟--Python数据分析第七周作业--MySQL的安装及使用 要求 每道题 ...

  2. 2003031121-浦娟-python数据分析五一假期作业

    项目 内容 课程班级博客链接 20级数据班(本) 这个作业要求链接 Python作业 博客名称 2003031121-浦娟-python数据分析五一假期作业 要求 每道题要有题目,代码(使用插入代码, ...

  3. 2003031121-浦娟-python数据分析第三周作业-第一次作业

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/pexy/20sj 作业链接 https://edu.cnblogs.com/campus/pexy/20s ...

  4. python数据分析与挖掘实战第二版pdf-------详细代码与实现

    [书名]:PYTHON数据分析与挖掘实战 第2版[作者]:张良均,谭立云,刘名军,江建明著[出版社]:北京:机械工业出版社[时间]:2020[页数]:340[isbn]:9787111640028 学 ...

  5. OO第二单元作业总结【自我反思与审视】

    第二单元作业的完成史,就是一部心酸的血泪史…… 多线程的出现为我(们)打开一片广阔的天地,我也在这方天地摸爬滚打,不断成长!如果说第一单元之前还对Java语法有所了解的话,那么这单元学习多线程则完全是 ...

  6. C语言——第二次作业(2)

    作业要求一 PTA作业的提交列表 作业要求二 题目1.删除字符串中数字字符(函数题) 1.设计思路 - (1)算法 第一步:调用定义的函数. 第二步:定义i=0.j=0,i为原字符数组角标,j为删除后 ...

  7. OO第二单元作业小结

    前言 转眼已是第九周,第二单元的电梯系列作业已经结束,终于体验了一番多线程电梯之旅. 第一次作业是单电梯的傻瓜调度,虽然是第一次写多线程,但在课程PPT的指引下,写起来还是非常容易:第二次作业是单电梯 ...

  8. OO第二单元作业——魔鬼电梯

    简介 本单元作业分为三次 第一次作业:第一次作业要实现单部简单电梯,停靠所有楼层,无载客容量,性能分考量电梯运行时间. 第二次作业: 第二次作业实现多部电梯,电梯数量由初始化设定,每部电梯都停靠所有楼 ...

  9. Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识

    Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...

随机推荐

  1. 一个Spring的应用看起来象什么?

    一个定义了一些功能的接口. 这实现包括属性,它的Setter , getter 方法和函数等. Spring AOP. Spring 的XML 配置文件. 使用以上功能的客户端程序.

  2. A5/web项目连接Oracle 12c数据库报:ORA-01017: 用户名/口令无效

    解决办法: 修改Oracle12c用户名密码,再改回来,就ok了,亲测有效.

  3. memcached 与 redis 的区别?

    1.Redis 不仅仅支持简单的 k/v 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储.而 memcache 只支持简单数据类型,需要客户端自己处理复 杂对象 2.R ...

  4. 基于Python3实现的各类数据库连接和连接池

    基于Python3的各类数据库连接和连接池, 支持数据库有: Mysql(MariaDB), Oracle, PostgreSQL(GreenPlum), Vertica, Redis, MongoD ...

  5. 学习ELK日志平台(二)

      一.ELK介绍 1.1 elasticsearch 1.1.1 elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索 ...

  6. CPF 使用C#的Native AOT 发布程序

    微软已经将AOT的包移到Nuget了,之前是在实验测试服务器上的.并且由之前的alpha版本改成了preview版本. C#的开发效率,接近C++的运行效率,而且可以防止反编译,可以支持大部分反射功能 ...

  7. 【动态规划】洛谷P1802 5 倍经验日(01背包问题)

    一个洛谷普及-的题目,也是我刚刚入门学习动态规划的练习题. 下面发一下我的思路和代码题解: 我的思路及伪代码: 我的AC图: 接下来上代码: 1 //动态规划 洛谷P1802 五倍经验日 2 #inc ...

  8. PCB模块化布局系列之时钟电路设计(晶振、晶体)

    一.晶体在一个电路系统中, 时钟是必不可少的一部分.如人的心脏的作用,如果电路系统的时钟出错了,系统就会发生紊乱,因此在PCB 中设计,一个好的时钟电路是非常必要的.我们常用的时钟电路有:晶体.晶振. ...

  9. 微信小程序上拉加载:onReachBottom详解+设置触发距离

    前端经常遇到上拉加载更多的需求,一般还涉及到翻页.小程序里已经给了下拉到底的触发方法onReachBottom(),这里记录下怎样使用这个方法实现下拉加载更多,有需要的直接看代码,有详细注释: 1.首 ...

  10. EMS批量为用户分配邮箱

    组织单位"Office"下有10个域用户,可以通过PowerShell命令一次为该组织单位中的没有分配邮箱的域用户分配邮箱. 以Exchange管理员身份打开EMS控制台.在Pow ...