Matplotlib练习

  • 练习一
    • 题目
    • 代码
    • 效果图
  • 练习二
    • 题目
    • 练习1代码
    • 练习1效果图
    • 练习2代码
    • 练习2效果图
    • 小结

练习一

题目

代码

import matplotlib.pyplot as plt
# 处理中文字体
from matplotlib.font_manager import FontPropertiesfont = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=12)# 构建x (x是相同的,可共享的)
x = range(11, 31)# 构建我的y和同桌的y
my_y = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
mate_y = [1, 0, 3, 1, 2, 2, 2, 3, 1, 1, 1, 1, 1, 2, 1, 1, 2, 3, 2, 2]# 基本框架的构造
plt.plot(x, my_y, marker='o', color="y", label="我")
plt.plot(x, mate_y, marker='*', color="b", label="同桌")# 添加组件美化视图
x_label = [f"{i}岁" for i in x]  # 定义x轴的标签
plt.xticks(x, x_label, fontproperties=font, rotation=45)# y轴的标签
plt.ylabel("npy个数", fontproperties=font)# 添加图例
plt.legend(prop=font)# 添加标题
plt.title('我VS同桌', fontsize='large', fontweight='bold', color='g', fontproperties=font)plt.show()

效果图

练习二

题目

练习1代码

from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties# 处理中文字体的问题
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=12)# Question 1
# 为了对某一产品进行合理定价,我们对此类商品进行了试销实验,
# 价格与需求量数据如下。利用图表分析规律。
# data of  question 1
price = [60, 80, 40, 30, 70, 90, 95]
sales = [100, 50, 120, 135, 65, 45, 40]# 由于价格的list不是排好序的 我们需要将其排序
# 同时把对应的销量在sales这个list中也对应好
list_xy = list(zip(price, sales))
list_xy.sort()
new_price = []
new_sales = []
for i in range(len(list_xy)):new_price.append(list_xy[i][0])new_sales.append(list_xy[i][1])
# 然后使用折线图 通过变化趋势体现出价格与销量的关系
plt.plot(new_price, new_sales, marker='o', color='b')
# 给每个坐标加上注释
for x_p, y_s in list_xy:plt.annotate(f"{x_p, y_s}", xy=(x_p, y_s), xytext=(x_p, y_s+1))
# 加上对应的组件
plt.title('某一产品的价格与需求量的关系', fontweight='bold', color='y', fontproperties=font)
plt.xlabel('价格', fontproperties=font)
plt.ylabel('需求量', fontproperties=font)
# 画图
plt.show()

练习1效果图

练习2代码

from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties# 处理中文字体的问题
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=12)# Question 2
# 用所给数据直观体现出不同电影近三天的票房的对比情况
# data of question 2
movies_name = ["变身特工", "美丽人生", "鲨海逃生", "熊出没·狂野大陆"]
day_12 = [2358, 399, 2358, 362]
day_13 = [12357, 156, 2045, 168]
day_14 = [15746, 312, 4497, 319]# 对于此类问题,使用直方图
width = 0.2
# Day 12各个电影的票房
po_left = [i - width for i in range(len(movies_name))]
plt.bar(po_left, day_12, width=width, label='12号')
# Day 13各个电影的票房
po_mid = [i for i in range(len(movies_name))]
plt.bar(po_mid, day_13, width=width, label='13号')
# Day 14各个电影的票房
po_right = [i + width for i in range(len(movies_name))]
plt.bar(po_right, day_14, width=width, label='14号')
# 添加组件
plt.xticks(range(len(movies_name)), movies_name, fontproperties=font)
plt.legend(prop=font)
plt.ylabel('票房', fontproperties=font)
plt.title('四部电影三天的票房对比情况', fontweight='bold', color='r', fontproperties=font)
# 画图
plt.show()

练习2效果图

小结

  1. 中文字体处理时需要注意fontpropertiesprop(在legend()方法)的区别。
  2. 分组条形图中每个图的开始位置要注意。
  3. 分组条形图可以添加数字标签来使分析体现得更加直观。
  4. 练习二的练习1使用散点图更佳。

利用Python Matplotlib库做简单的视觉化相关推荐

  1. 利用Python Matplotlib库做简单的视觉化(2)

    Matplotlib练习 题目 练习一 方法一(条形图) 方法一效果图 方法二(扇形图) 方法二效果图 练习二 练习二代码 练习二效果图 小结 题目 练习一 方法一(条形图) from matplot ...

  2. 霍兰德人格分析:利用Python第三方库matplotlib绘制雷达图

    美国约翰霍普金斯大学霍兰德教授认为,个人职业兴趣特性与职业之间应有一种内在的对应关系.根据兴趣的不同,人格可分为研究型(I).艺术型(A).社会型(S).企业型(E).传统型(C).现实型(R)六个维 ...

  3. Python学习-Matplotlib库绘制简单点阵图、线型图操作

    Python学习-Matplotlib库绘制简单散点图图和线型图.标签设置以及刻度线设置操作 目录 1.Matplotlib绘图细节的简单理解 2.绘制点图.线型图 3.给图表设置复杂标注 4.移动刻 ...

  4. 利用python机器学习库进行Kaggle皮马印第安人糖尿病预测分析

    利用python机器学习库进行Kaggle皮马印第安人糖尿病预测分析 项目摘要 本项目主要使用python对各医学参数与糖尿病之间的关系进行可视化分析.描述性分析.使用scikit-learn机器学习 ...

  5. 利用python—matplotlib绘制股票K线图

    利用python-matplotlib绘制股票K线图 成品展示: 用Python绘制股票K线图并不复杂,不过得做好一些准备工作例如相关库的安装,库的引入.日期格式的调整and表格转换 文章目录 利用p ...

  6. python123九宫格输入_使用python PIL库实现简单验证码的去噪方法步骤

    字符型图片验证码识别完整过程及Python实现的博主,我的大部分知识点都是从他那里学来的. 想要识别验证码,收集足够多的样本后,首先要做的就是对验证码原始图片进行处理,对验证码识别分类之前,一般包括: ...

  7. 利用python you-get库下载网络视频、音乐及图片

    Python,让繁琐工作高效便捷:利用python you-get库单个.批量下载网络视频.音乐及图片,you-get命令需要在cmd窗口中运行. 很多人学习python,不知道从何学起. 很多人学习 ...

  8. Python - matplotlib库 - 中文字体设置

    Python - matplotlib库 - 中文字体设置 在matplotlib绘制折线图柱状图时,如果对x,y,图表标题,直接使用plot.xlabel("时间"):plot. ...

  9. python 读取geotiff_科学网—利用python GDAL库读写geotiff格式的遥感影像方法 - 张伟的博文...

    (1)利用python GDAL库读写geotiff格式的遥感影像方法,具有很好的参考价值,不错! from osgeo import gdal import numpy as np def read ...

最新文章

  1. 树莓派安装python3.5+tensorflow_树莓派4B安装Tensorflow的方法步骤
  2. linux mailx 发邮件
  3. [小问题] 使用idea 打包maven项目时可能遇到xml文件打包不进去
  4. Winedit 快捷键概览
  5. python网络编程项目_python网络编程详解
  6. 解决Windows和Ubuntu时间不一致的问题
  7. 核心对象+持久对象全析(1)
  8. kubernetes 客户端client-go 使用及常用api
  9. git报错:ssh variant 'simple' does not support setting port解决
  10. 薪水太低的你,为什么不跳槽?
  11. java date 没有毫秒,java – SimpleDateFormat没有正确解析毫秒
  12. matlab时频分析工具箱安装,Matlab emd工具箱、时频分析工具箱下载以及安装方法...
  13. 删除右键菜单中的 “上传到wps云文档”
  14. SoX — 音频处理工具里的瑞士军刀
  15. 智能客服机器人的场景应用及功能有哪些
  16. 利用opencv棋盘格标定法对鱼眼图像校正分析
  17. 《Excel高手捷径:一招鲜,吃遍天》一第3招 快捷键的妙用
  18. 苹果Mac笔记本电脑如何开启热点分享网络?
  19. 并行传输数据和串行传输数据_计算机系统中的并行处理和数据传输模式
  20. K8S集群扩容多master大概思路步骤

热门文章

  1. iPhone X 弹出输入框隐藏后页面上移不回位问题的解决办法
  2. [USACO] Gold组刷题记录
  3. SC命令---安装、开启、配置、关闭windows服务 bat批处理(转载)
  4. linux mail使用笔记
  5. NLog 2.0.0.2000 使用实例
  6. tftp的安装、设置以及put、get传输实验
  7. java怎么进行浮点数运算_【考试经验】Java中实现浮点数的精确运算
  8. html5中checkbox的选中状态的设置与获取
  9. PAT 1086 就不告诉你
  10. 第一篇 多线程笔试面试题汇总(转)