项目

内容

课程班级博客链接

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. redis 如何做内存优化?

    1.缩减键值对象 缩减键(key)和值(value)的长度, key长度:如在设计键时,在完整描述业务情况下,键值越短越好. value长度:值对象缩减比较复杂,常见需求是把业务对象序列化成二进制数组 ...

  2. Mybatis框架基础入门(一)--简介及优势

    一.什么是Mybatis 这里借用官网的一句话介绍什么是mybatis:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC ...

  3. Redis 的内存用完了会发生什么?

    如果达到设置的上限,Redis 的写命令会返回错误信息(但是读命令还可以正 常返回.)或者你可以将 Redis 当缓存来使用配置淘汰机制,当 Redis 达到内存 上限时会冲刷掉旧的内容.

  4. sleep()和wait()的区别?notify()和notifyAll()的区别?start()和run()的区别?

    sleep()和wait()的区别? 这两个方法来自不同的类分别是Thread和Object sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法.wait,not ...

  5. Netty之非阻塞处理

    Netty 是一个异步的.基于事件驱动的网络应用框架,用以快速开发高性能.高可靠性的网络 IO 程序. 一.异步模型 同步I/O : 需要进程去真正的去操作I/O: 异步I/O:内核在I/O操作完成后 ...

  6. 可想实现一个自己的简单jQuery库?(五)

    Lesson-4 这个版本我们要增加一个用的非常多的方法! 那就是each! 我们知道each不仅能遍历数组,还能遍历对象. 首先我们需要一个对数组进行验证的方法 function isArray(o ...

  7. web页面性能优化之接口前置

    上个Q做了一波web性能优化,积累了一点点经验 记录分享一下. 先分享一个比较常用的接口前置 的优化方案吧 优化前首屏秒开大约在40%左右 首屏秒开大约提高了25% 先发一张优化成果图 前置原因 对于 ...

  8. vue和mint-ui loadMore 实现上拉加载和下拉刷新

    首先安装mint-ui组件库 npm install mint-ui 在main.js中引入mint-ui和样式 import 'mint-ui/lib/style.css' import MintU ...

  9. 【uniapp 开发】智能温控开关 (环状图)

    index.vue <template> <view> <view class="qiun-columns"> <uCharts id=& ...

  10. 【uniapp 开发】UniPush

    App.vue export default { onLaunch: function() { // #ifdef APP-PLUS const _self = this; const _handle ...