简答题(共1题,100分)1. (简答题)使用matplotlib绘制如下图

第一步先画一个坐标系出来

import matplotlib.pyplot as plt
# 创建Figure画板对象
fig = plt.figure()
# //将整个Figure区域划分为Row * col的网格;
# //建立坐标轴
ax=fig.add_subplot()
# //设置x轴和y轴
ax.set(xlim=[0, 8], ylim=[0, 8], title='HAPPY BIRTHDAY',ylabel='Y-Axis', xlabel='X-Axis')
plt.show()

来看看效果

坐标系建立出来了

第二步  绘制网格

import matplotlib.pyplot as plt
# 创建Figure画板对象
fig = plt.figure()
# //将整个Figure区域划分为Row * col的网格;
# //建立坐标轴
ax=fig.add_subplot()
# //设置x轴和y轴
ax.set(xlim=[0, 8], ylim=[0, 8], title='HAPPY BIRTHDAY',ylabel='Y-Axis', xlabel='X-Axis')
#显示表格
plt.tight_layout()
plt.show()

第三步画出基本图形

import matplotlib.pyplot as plt
import numpy as np
# 创建Figure画板对象
fig = plt.figure()
# //将整个Figure区域划分为Row * col的网格;
# //建立坐标轴
ax=fig.add_subplot()
# //设置x轴和y轴
ax.set(xlim=[-6, 10], ylim=[-6, 10], title="HAPPY BIRTHDAY",ylabel='Y-Axis', xlabel='X-Axis')
#第一个参数(2,1)表示起始坐标,第二个参数4为长度,第三个参数为高度2 alpha为透明度
# rect = plt.Rectangle((2,1),4,2,color='r',alpha=0.3)
# 设置 legend 图例与图形
x = [-2,-3]
data = [5,5]
#第一层
ax.barh(x,width=data,height=1,color="r",label="第一层蛋糕",alpha=0.4)
x1 = [-1,0]
data1 = [4,4]
#第二层
ax.barh(x1,width=data1,left=0.5,height=1,color="b",label="第二层蛋糕",alpha=0.4)
#第三层蜡烛
x2 = [1,2,3,4]
y2 = [1.5,1.5,1.5,1.5]
plt.bar(x2,y2,width=0.2,align="center",color="g",label="蜡烛",alpha=0.5,bottom=0.4)
#第四层的引线
x2 = [1,2,3,4]
y2 = [2,2,2,2]
plt.bar(x2,y2,width=0.05,align="center",color=['r','b','y','m'],alpha=0.5,bottom=0.4)
#显示表格
plt.tight_layout()
plt.legend()
plt.show() 

alpha为透明度 pit.bar为柱状图图 在pit.barw中bottom可以调整上位置也可以用来做堆叠图

pit.barn为水平柱状图 可以用left属性调节上下

第四步加入一点点细节

import matplotlib.pyplot as plt
import numpy as np
# 创建Figure画板对象
fig = plt.figure()
# //将整个Figure区域划分为Row * col的网格;
# //建立坐标轴
ax=fig.add_subplot()
# //设置x轴和y轴
ax.set(xlim=[-6, 10], ylim=[-6, 10], title="HAPPY BIRTHDAY",ylabel='Y-Axis', xlabel='X-Axis')
#第一个参数(2,1)表示起始坐标,第二个参数4为长度,第三个参数为高度2 alpha为透明度
# rect = plt.Rectangle((2,1),4,2,color='r',alpha=0.3)
# 设置 legend 图例与图形
x = [-2,-3]
data = [5,5]
#第一层
ax.barh(x,width=data,height=1,color="r",label="第一层蛋糕",alpha=0.4)
x1 = [-1,0]
data1 = [4,4]
#第二层
ax.barh(x1,width=data1,left=0.5,height=1,color="b",label="第二层蛋糕",alpha=0.4)
#第三层蜡烛
x2 = [1,2,3,4]
y2 = [1.5,1.5,1.5,1.5]
plt.bar(x2,y2,width=0.2,align="center",color="g",label="蜡烛",alpha=0.5,bottom=0.4)
#第四层的引线
x2 = [1,2,3,4]
y2 = [2,2,2,2]
plt.bar(x2,y2,width=0.05,align="center",color=['r','b','y','m'],alpha=0.5,bottom=0.4)
#加入一点点细节
#1加入横线
#x4(第一个横坐标点x41,第二个横坐标点x42)
#y4(第一个横坐标x41对应的y41,第二个横坐标x42对应的y42)
x4=[0,5]
y4=[-3,-3]
ax.plot(x4, y4)
#加入第二段横线
x5=[0,5]
y5=[-2.0,-2.0]
ax.plot(x5, y5,color='b')
#加入第三段虚线
x6=[0.5,4.5]
y6=[-1.0 ,-1.0]
ax.plot(x6, y6,linestyle='--',color='y')
#加入第四段虚线
x7=[0.5,4.5]
y7=[0,0]
ax.plot(x7, y7,linestyle='--',color='y')
#显示表格
plt.tight_layout()
plt.legend()
plt.show() 

第五步加入背景气泡去掉横坐标

import matplotlib.pyplot as plt
import numpy as np
# 创建Figure画板对象
fig = plt.figure()
# //将整个Figure区域划分为Row * col的网格;
# //建立坐标轴
ax=fig.add_subplot()
# //设置x轴和y轴
ax.set(xlim=[-6, 10], ylim=[-6, 10], title="HAPPY BIRTHDAY",)
#第一个参数(2,1)表示起始坐标,第二个参数4为长度,第三个参数为高度2 alpha为透明度
# rect = plt.Rectangle((2,1),4,2,color='r',alpha=0.3)
# 设置 legend 图例与图形
x = [-2,-3]
data = [5,5]
#第一层
ax.barh(x,width=data,height=1,color="r",label="第一层蛋糕",alpha=0.4)
x1 = [-1,0]
data1 = [4,4]
#第二层
ax.barh(x1,width=data1,left=0.5,height=1,color="b",label="第二层蛋糕",alpha=0.4)
#第三层蜡烛
x2 = [1,2,3,4]
y2 = [1.5,1.5,1.5,1.5]
plt.bar(x2,y2,width=0.2,align="center",color="g",label="蜡烛",alpha=0.5,bottom=0.4)
#第四层的引线
x2 = [1,2,3,4]
y2 = [2,2,2,2]
plt.bar(x2,y2,width=0.05,align="center",color=['r','b','y','m'],alpha=0.5,bottom=0.4)
#加入一点点细节
#1加入横线
#x4(第一个横坐标点x41,第二个横坐标点x42)
#y4(第一个横坐标x41对应的y41,第二个横坐标x42对应的y42)
x4=[0,5]
y4=[-3,-3]
ax.plot(x4, y4)
#加入第二段横线
x5=[0,5]
y5=[-2.0,-2.0]
ax.plot(x5, y5,color='b')
#加入第三段虚线
x6=[0.5,4.5]
y6=[-1.0 ,-1.0]
ax.plot(x6, y6,linestyle='--',color='y')
#加入第四段虚线
x7=[0.5,4.5]
y7=[0,0]
ax.plot(x7, y7,linestyle='--',color='y')
#绘制汽包背景#随机生成xs和ys
n = 1024    # data size
# 从标准正态分布曲线上随机取n个点,第二个参数越大越离散
xs = np.random.normal(0, 10, n) # 每一个点作为绘图的X坐标
ys = np.random.normal(0, 10, n) # 每一个点作为绘图的y坐标
# 根据坐标点生成一个数值作为颜色值
y3 = np.arctan2(ys,xs)
# s:绘制点的大小
# c:绘制点的颜色,可以是单一色值,也可以是列表,颜色会顺序对应给对应点的
# marker:点的样式,有‘o’圆点,'+'加号,还有很多,查看官方~matplotlib.markers.MarkerStyle,默认'o'
# linewidth:‘o’圆点模式下的边框宽度,设置成0,圆点没有边框
# alpha:透明度
plt.scatter(xs, ys, s=30, c=y3, alpha=0.5,marker='o',linewidths=0)
#显示表格
plt.tight_layout()
plt.legend()
# 把坐标轴上的标识更换为空(不显示坐标轴刻度)
plt.xticks(())
plt.yticks(())
plt.show() 

最后一步设置字体

import matplotlib.pyplot as plt
import numpy as np
#设置字体
plt.rcParams['font.sans-serif'] = ['KaiTi']
plt.rcParams['font.serif'] = ['KaiTi']
# 创建Figure画板对象
fig = plt.figure()
# //将整个Figure区域划分为Row * col的网格;
# //建立坐标轴
ax=fig.add_subplot()
# //设置x轴和y轴
ax.set(xlim=[-6, 10], ylim=[-6, 10], title="生日快乐",)
#第一个参数(2,1)表示起始坐标,第二个参数4为长度,第三个参数为高度2 alpha为透明度
# rect = plt.Rectangle((2,1),4,2,color='r',alpha=0.3)
# 设置 legend 图例与图形
x = [-2,-3]
data = [5,5]
#第一层
ax.barh(x,width=data,height=1,color="r",label="第一层蛋糕",alpha=0.4)
x1 = [-1,0]
data1 = [4,4]
#第二层
ax.barh(x1,width=data1,left=0.5,height=1,color="b",label="第二层蛋糕",alpha=0.4)
#第三层蜡烛
x2 = [1,2,3,4]
y2 = [1.5,1.5,1.5,1.5]
plt.bar(x2,y2,width=0.2,align="center",color="g",label="蜡烛",alpha=0.5,bottom=0.4)
#第四层的引线
x2 = [1,2,3,4]
y2 = [2,2,2,2]
plt.bar(x2,y2,width=0.05,align="center",color=['r','b','y','m'],alpha=0.5,bottom=0.4)
#加入一点点细节
#1加入横线
#x4(第一个横坐标点x41,第二个横坐标点x42)
#y4(第一个横坐标x41对应的y41,第二个横坐标x42对应的y42)
x4=[0,5]
y4=[-3,-3]
ax.plot(x4, y4)
#加入第二段横线
x5=[0,5]
y5=[-2.0,-2.0]
ax.plot(x5, y5,color='b')
#加入第三段虚线
x6=[0.5,4.5]
y6=[-1.0 ,-1.0]
ax.plot(x6, y6,linestyle='--',color='y')
#加入第四段虚线
x7=[0.5,4.5]
y7=[0,0]
ax.plot(x7, y7,linestyle='--',color='y')
#绘制汽包背景#随机生成xs和ys
n = 1024    # data size
# 从标准正态分布曲线上随机取n个点,第二个参数越大越离散
xs = np.random.normal(0, 10, n) # 每一个点作为绘图的X坐标
ys = np.random.normal(0, 10, n) # 每一个点作为绘图的y坐标
# 根据坐标点生成一个数值作为颜色值
y3 = np.arctan2(ys,xs)
# s:绘制点的大小
# c:绘制点的颜色,可以是单一色值,也可以是列表,颜色会顺序对应给对应点的
# marker:点的样式,有‘o’圆点,'+'加号,还有很多,查看官方~matplotlib.markers.MarkerStyle,默认'o'
# linewidth:‘o’圆点模式下的边框宽度,设置成0,圆点没有边框
# alpha:透明度
plt.scatter(xs, ys, s=30, c=y3, alpha=0.5,marker='o',linewidths=0)
#显示表格
# plt.tight_layout()
plt.legend()
# 把坐标轴上的标识更换为空(不显示坐标轴刻度)
plt.xticks(())
plt.yticks(())
plt.show()

这样一个美味可口的蛋糕就做好了,还不快自己动手做一个

python大数据作业六画一个蛋糕相关推荐

  1. python大数据作业-客户价值分析-实训头歌

    一.实验目的与要求 1.掌握使用numpy和pandas库处理数据的基本方法. 2.掌握使用RFM分析模型对客户信息进行特征提取的基本方法. 3.掌握对特征数据进行标准化处理的基本方法. 4.掌握使用 ...

  2. Python+大数据-数据分析与处理(六)-综合案例

    Python+大数据-数据分析与处理(六)-综合案例 案例一:Appstore数据分析 学习目标 掌握描述性数据分析流程 能够使用pandas.seaborn进行数据分析和可视化 1.案例介绍 案例背 ...

  3. Python +大数据-hadoop生态-hadoop(三)--Hadoop HDFS

    Python +大数据-hadoop生态-hadoop(三)–Hadoop HDFS 今日课程学习目标 理解分布式文件存储的概念与实现 掌握HDFS分块存储.副本机制等特性 学会shell操作HDFS ...

  4. Hadoop云网盘实现-大数据作业

    这是一个大数据作业完成过程的记录,基础仅有一个Ubuntu系统,学习过程中借鉴了很多博主的相关介绍,在这里作一下总结,也记录一下自己学习过程中遇到的坑和解决方案.希望对其他做类似工作的人有所帮助. 目 ...

  5. Python大数据:jieba分词,词频统计

    实验目的 学习如何读取一个文件 学习如何使用DataFrame 学习jieba中文分词组件及停用词处理原理 了解Jupyter Notebook 概念 中文分词 在自然语言处理过程中,为了能更好地处理 ...

  6. Python +大数据-知行教育(四)-意向用户主题看板_全量流程

    Python +大数据-知行教育(四)-意向用户主题看板_全量流程 5. 意向用户主题看板_全量流程 5.1 需求分析 主要分析什么内容:1) 每一个需求涉及到那些维度, 那些直白2) 每一个需求涉及 ...

  7. Python+大数据-知行教育(一)-环境搭建 数据仓库

    Python+大数据-知行教育(一)-环境搭建 数据仓库 1. 教育项目的数仓分层 回顾: 原有的基础分层 ODS层: 源数据层作用: 对接数据源, 和数据源的数据保持相同的粒度(将数据源的数据完整的 ...

  8. Python +大数据-Hadoop生态-Linux(二)-集群搭建和安装

    Python +大数据-Hadoop生态-Linux(二)-集群搭建和安装 今日课程学习目标 1.掌握Linux用户.权限管理 2.掌握Linux常用系统命令 3.掌握服务器集群环境搭建 4.了解sh ...

  9. Python+大数据-知行教育(七)-学生出勤主题看板

    Python+大数据-知行教育(七)-学生出勤主题看板 2. 学生出勤主题看板 2.1 需求分析 回顾: 涉及维度, 指标, 涉及表, 字段, 以及需要清洗的内容, 需要转换的内容, 如果有多个表, ...

最新文章

  1. 微软职位内部推荐-Senior Software Engineer II-Search
  2. python 中evaluationcontext是什么_Pytorch evaluation每次运行结果不同的解决
  3. dsp广告和信息流广告区别_一文搞懂DSP-蘑菇街DSP广告实践
  4. 从“负电价”说起:谈谈德国新能源消纳的借鉴意义
  5. 利用Python绘制中国新型冠状病毒疫情图(国家和省)
  6. oracle dbms_profiler,Oracle数据库中使用DBMS_PROFILER进行调优
  7. 事关SuperSocket发布,寻找YangFan哥哥
  8. wx-charts 微信小程序图表插件
  9. python如何设置窗口保持显示_如何保持Python脚本输出窗口打开?
  10. 注册表只改一个值 马上加快宽带上网速度
  11. SpringBoot (14)---使用Redis缓存
  12. Mysql整库导出导入
  13. 花生壳动态域名解析工具原理
  14. 检测洛达芯片的软件_购买华强北洛达1562a的10条须知!!!快来看!!!
  15. HDU 1251 - 统计难题(字典树模板题)
  16. web安全day11:进一步学习windows域的gpo
  17. Docker的安装及加速器配置
  18. Excel排序与查重
  19. 口红机 抖音口红机 女神赢口红系统源码 全开源可二次开发 微信游戏,公众号游戏,口红机源码安装部署、调试...
  20. NEC红外线解码协议

热门文章

  1. CAD查找图上的文字(com接口)
  2. 蓝牙耳机将全面进入无线时代
  3. 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一2.6 常见电商平台...
  4. VMVare中CentOS图形化界面大屏显示的方法(调节屏幕分辨率)
  5. max信号无服务器,iPhone XS Max信号满格无法使用网络数据改善方法
  6. 怎么剪gif图的尺寸?
  7. Linux网络接口命名, Predictable Network Interface Names
  8. 还在用软盘驱动器?下面来看看一款超越1.44 MB容量上限的新方案
  9. 魅族大数据运维平台实践
  10. Windows安装Linux虚拟机超详细教程(CentOS Stream 9)