前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

萝卜 | 作者

数据不吹牛 | 来源

Python 的绘图功能非常强大,如果能将已有的绘图库的各种复杂操作汇总在一个自己写的函数甚至是库/包中,并实现一行代码就调用并实现复杂的绘图功能,那就更是如虎添翼。

今天,我们就来讲讲一学就会的象限图。

上图学名叫波士顿矩阵分析图,大白话四象限图。这种图经常用于两个维度的散点图中,根据特定的分割线(均值,目标值,实际值等)将数据分为四类,使人一目了然。

常用的场景为分析两个维度的变化比如:比较商品的库存天数和库存周转率,充值人数和每付费用户平均收益,购物篮系数和购物篮数量等

如何使用 Python 画出此图是本文的目标,事不宜迟,赶快开始!

任何复杂的 Python 绘图都不是一蹴而就的,而是先画出基础图形,后在此基础上按需添加元素并优化而成。这里以一组城市经济数据为例来讲解绘图步骤

基础散点图

df = pd.read_csv('data.csv')
df; df.plot(kind='scatter', x='经济总量水平', y='人均水平')

简洁又朴素的散点图,仅需一行代码。离期望成图还差几步

  • 为每个点添加对应的城市名称
  • 添加特定的分割线(均值,目标值,实际值)
  • 背景添加网格
  • 一些其他的定制需求...

图像优化

成图如下:

从上图可以看出:

  • 广西,河北,福建三地的人均水平和经济总量水平都偏低
  • 上海的人均经济水平很高,但经济总量水平缺只是略优于均值
  • 广东的人均经济水平稍次于均值,但经济总量水平很高
  • 等等~

当然,如果我们通过添加数量更多的定制线也可以实现常用的九宫格图

《数据化管理》库存天数与销售数量分析

最后总结一下,Python 的一些绘图方法、参数看似琐碎,但积累到一定程度后,便可以发现许多技巧都存在共通之处。小事情重复做也会成为大麻烦,所以高手都懂得分类处理。

贯通了 3 个核心,我们才能省时省事,成为别人眼中的高手:

  • 大量重复的工作懂得批处理
  • 反复要做的固定操作固化成 " 模板 “,” 套路 "
  • 碰到异常情况,知道如何准确高效的解决。

所以我们可以将四象限图的绘制方法封装成自己的函数以供快捷调用,篇幅原因就不多展示了。

上文核心代码如下:

import matplotlib.pyplot as plt# 为每个点添加对应的城市名称
plt.figure(figsize=(10, 8))
# 基础散点图:这里需要单独拆开 x,y 轴和希望配对的标签,为下面的轮子做准备
x, y = df['经济总量水平'], df['人均水平']
label = df['area']
plt.scatter(x, y)
plt.xlabel('经济总量水平'); plt.ylabel('人均水平')# 对散点图中的每一个点进行文字标注## 固定代码,无需深究,拿来即用
for a,b,l in zip(x,y,label): # zip 拉链函数将其配对组合plt.text(a, b+0.1, '%s.' % l, ha='center', va='bottom', fontsize=14)# 0.1 向上轻微偏移# 添加特定分割线## vlines: vertical 垂直于 x 轴的线,在变量'经济总量'的均值处开始画,## y 轴的范围[1.5, 3]
plt.vlines(x=df['经济总量水平'].mean(), ymin=-1.5, ymax=3, colors='red', linewidth=2)
plt.hlines(y=df['人均水平'].mean(), xmin=-4, xmax=6,colors='red', linewidth=2)# 背景网格
plt.grid(True)
# 定制需求:隐去四周的边框线条
# sns.despine(trim=True, left=True, bottom=True)

Python数据可视化:象限图的应用相关推荐

  1. python画柱状图和折线图-Python数据可视化–折线图–柱状图

    from matplotlib import pyplot import random x = list(range(0,100)) y = [random.randint(0,100) for r ...

  2. python数据可视化雷达图程序_Python数据可视化之matplotlib

    常用模块导入 import numpy as np import matplotlib import matplotlib.mlab as mlab import matplotlib.pyplot ...

  3. python画折线图详解-Python数据可视化(一) 绘制折线图和散点图

    数据可视化示例 对数据可视化的浅认知 数据可视化是任何数据科学或机器学习的重要组成部分.可视化能将数据以更加直观的方式展现出来,使数据更加客观.更具说服力.同时,也易于发现隐藏在数据中的规律和意义.尤 ...

  4. 最近很火的数据动图python_12个流行的Python数据可视化库总结

    总结了10个不同领域的 Python 数据可视化库,有常用的,也有比较小众的. 1.  matplotlib matplotlib是Python数据可视化库的OG.尽管它已有十多年的历史,但仍然是Py ...

  5. json树状图可视化_12个流行的Python数据可视化库总结

    总结了10个不同领域的 Python 数据可视化库,有常用的,也有比较小众的. 1. matplotlib matplotlib是Python数据可视化库的OG.尽管它已有十多年的历史,但仍然是Pyt ...

  6. Python数据可视化:线型、Marker、简单折线图、多柱状图、基本饼形图与嵌套饼形图

    Python数据可视化 一:Matplotlib import matplotlib.pyplot as plt import numpy as np # plt,np取别名 matplotlib常用 ...

  7. python数据可视化(matplotlib条形图、饼图、箱状图、直方图、折线图)(代码)

    python数据可视化(matplotlib条形图.饼图.箱状图.直方图.折线图) matplotlib(条形图) 一.简单条形图 1.简单垂直条形图 2.简单水平条形图 二.水平交错条形图 三.垂直 ...

  8. 数据可视化实验:python数据可视化-柱状图,条形图,直方图,饼图,棒图,散点图,气泡图,雷达图,箱线图,折线图

    数据可视化实验:python数据可视化 实验8-12:大数据可视化工具-python 目录 1柱状图 2条形图 3直方图 4饼图 5棒图 6散点图 7气泡图 8雷达图 9箱线图 10折线图 1柱状图 ...

  9. python数据可视化之美源码_Python数据可视化之美-专业图

    Python数据可视化之美 专业图表绘制指南 作  者:张杰 著 定  价:129 出 版 社:电子工业出版社 出版日期:2020年03月01日 页  数:303 装  帧:平装 ISBN:97871 ...

  10. Python数据可视化:如何创建箱线图

    一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形. 我们团队推出一个新的系列教程:Python数据可视化,针对初级和中级用户,将理论和示例代码相结合,使用matplotl ...

最新文章

  1. 全球及中国智能隐形眼镜行业供需现状与营销策略建议报告2022-2028年
  2. android上使用蓝牙设备进行语音输入
  3. matlab画图模糊,[转载]matlab中模糊工具箱的使用
  4. Stream is the new file
  5. python 数据挖掘论文,Orange:一个基于 Python 的数据挖掘和机器学习平台
  6. Linux CPU信息和使用情况查看(CentOS)
  7. 深入理解ARM体系架构(S3C6410)---PWM实例
  8. K8S_Google工作笔记0007---通过kubeadm方式_部署node节点和集群测试
  9. linux修改ip配置文件路径,Centos7系统如何修改IP地址
  10. matlab 简单的图像填充例子
  11. 克劳斯比的零缺陷——《可以量化的管理学》
  12. js实现身份证验证功能
  13. JAVASE,JAVAEE,JAVAME的区别
  14. 查看服务器型号和cpu参数等信息
  15. 电脑开机画面如何更换
  16. Linux IPC:匿名管道 与 命名管道
  17. Spring AOP 学习笔记
  18. 软件体系结构的第二次实验(解释器风格与管道过滤器风格)
  19. 说点我关于演员黄轩的了解
  20. 2021年全球与中国研磨片行业市场规模及发展前景分析

热门文章

  1. Sniffer4D灵嗅——强大的数据分析设备
  2. 广工人福利,openwrt+gduth3c通过inode认证,妈妈再也不用担心我要用电脑开wifi了
  3. 使用Eclipse创建JavaWeb动态网页项目(二)连接数据库
  4. 2021-10-31L1-060 心理阴影面积
  5. mat1 and mat2 shapes cannot be multiplied
  6. 公务员备考(十三) 行测 数量关系
  7. 建网站要云服务器么?网站服务器怎么选?
  8. 华为q1设置虚拟服务器,华为Q1子母路由设置上网使用教程
  9. 模拟ATM自动取款机功能
  10. iTunesConnect应用技术支持网址