实例讨论数据可视化的配色思路怎么写_配色分析案例

实例讨论数据可视化的配色思路怎么写_配色分析案例引子有一数据集如下:数据解读:研究对象的目标层A分为B1,B2,B3三个准则层;B1层下有C1,C2,C3,C44个指标;B2层下只有C5一个指标;B3层有C6,C7,C83个指标。指标权重是该指标在所属准则层的权重;组合权重是该指标在目标层的权重。现在,要绘制上述数据的“组合权重”的饼图。如何给这个饼图配色呢?数据可视化配色的误区下图是群友绘制的图:他自己对结果不满意,他认为是颜色搭配太丑。我们来看看,他的配色问题出在哪:颜色太

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

引子

有一数据集如下:
实例讨论数据可视化的配色思路怎么写_配色分析案例
实例讨论数据可视化的配色思路怎么写_配色分析案例

数据解读:

  • 研究对象的目标层 A 分为 B1, B2, B3 三个准则层;
  • B1 层下有 C1, C2, C3, C4 4个指标;
  • B2 层下只有 C5 一个指标;
  • B3 层有 C6, C7, C8 3个指标。
  • 指标权重是该指标在所属准则层的权重;
  • 组合权重是该指标在目标层的权重。

现在,要绘制上述数据的“组合权重”的饼图。如何给这个饼图配色呢?

数据可视化配色的误区

下图是群友绘制的图:
实例讨论数据可视化的配色思路怎么写_配色分析案例

他自己对结果不满意,他认为是颜色搭配太丑。

我们来看看,他的配色问题出在哪:

颜色太乱,用8种颜色代表8个指标,除了添乱以外,没有一点好处,实际上,标签 C1, C2,… 已经表达了指标信息,再用颜色表达指标是“资源”的浪费!

这是一组分层、定性分类的数据,从图中,我们无法看出指标与准则的归属(分类)关系,所以显得很乱!

颜色没有帮助表达更多有用的数据信息。

初学者,对数据可视化的配色常有一个的误解:认为配色就是给图表着上颜色,看起来花哨,好看!非也,非也!

数据可视化配色的目的

数据可视化的目的是为了更直观的表达数据之间的关系、数据的结构、作者发现的数据变化的规律、表达作者发现的数据中隐含的信息…

简单说,数据可视化就是用图表表达作者在数据中发现的重要信息。

图表类型、符号、颜色是有限的、宝贵的“表达”资源,使用时都应该是有助于这个目的。用多个资源重复表达相同的信息,肯定是失败的。

数据可视化的配色如果仅是为了好看,99% 会是失败的。

实例讨论配色的思路

我们就前面这个简单的例子,来看看配色的一般思路。

选择合适的颜色映射

考虑到:

  • 该数据集有 3 个准则层,每个准则层下的有 4, 3 ,1个指标不等。
  • 显然这种准则层、指标层,是一种定性的(qualitative)分类;
  • 饼图的标签已足以区分准则层、指标层;
  • 饼图的锲形大小已表达权重;
  • 用颜色表达准则层的分类、表达指标与准则层的关系,是一个不错的选择。

观察 matplotlib 内置的 qualitative colormaps,发现 ’tab20b, tab20c‘与这个数据集的结构比较吻合。在这里插入图片描述
比如, tab20c 前面3个颜色,蓝色、橙色、绿色,每个颜色下面有 4 个饱和度变化。

我们用蓝色、橙色、绿色表达 3 个准则层,用对应颜色下面的饱和度变化表达所属的指标层,怎么样?应该不错。

按照这个思路绘制的嵌套饼图如下:
实例讨论数据可视化的配色思路怎么写_配色分析案例

看到这个图,读者即使不看原始数据,也应该想到:

  • C1,C2,C3,C4 与 B1 层有关;
  • B2 层似乎只有一个 C5;
  • C6,C7, C8 应该属于 B3 层。

至于颜色搭配的协调性,matplotlib 内置的颜色映射已经做了保证。记住:各种配色模块定义颜色板的首要目的就是基于色彩搭配的原理,保证这些颜色放在一个图表中的协调和美观。

我们的工作就是选择合适的颜色映射表达数据中的信息。

就这个例子,你可能有更好的配色方案,欢迎到python草堂群:457079928(QQ群)交流。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186872.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android开发之使用SQLite数据库存储

    SQLite 介绍SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, PHP, Python)都使用了 SQLite.SQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展 SQL

    2022年3月10日
    41
  • 冲刺阶段 – PMP易错概念(持续更新中)

    冲刺阶段 – PMP易错概念(持续更新中)文章目录1.基础概念2.整合管理3.范围管理4.进度管理5.成本管理6.质量管理7.资源管理8.沟通管理9.风险管理10.采购管理11.相关方管理1.基础概念1.“管理层在项目管理方面缺乏经验”不是项目失败的原因。管理层可以不懂项目管理,但项目经理必须要非常精通项目管理,这里还有一个假设就是组织拥有非常充分的组织过程资产,即便经验不足,也可以去学习和借鉴组织过程资产。2.子项目的划分,根据项目的复杂性来划分,以便更好的去管理与控制项目,子项目会细化工作,故增加工

    2022年5月19日
    38
  • 子网划分习题及考点分析(含答案及理解)

    子网划分习题及考点分析(含答案及理解)Mon21Mon28Mon04已完成进行中计划中现有任务子网划分一、选择题:1.92.168.1.0/24使用掩码255.255.255.240划分子网,其子网数为(),每个子网内可用主机地址数为()A.1414B.1614C.2546D.1462解析:(1)掩码255.255.255.240为28位,28-24=4网络位向主机位借用了4位,子网数为2的4次

    2022年6月27日
    43
  • 实战 FastCGI「建议收藏」

    实战 FastCGI「建议收藏」
    当网站日益走红,联机人数直线上升而心中暗自窃喜之时,突然客服中心涌来大批反应电话:『网站连不上去』、『按下去等好久画面才出来』、『一直出现ServerTooBusy…』...。看来又要把硬件升级了,但是再加更多的内存,更多CPU、换更贵的机器真的能解决问题吗?有没有比较省钱的方法呢?本文将介绍如何在阿帕契服务器上安装FastCGI的模块,如何设定及使用FastCGI网站应用程序,让你的网站程序在现有的架构上以全速执行。
    ————————

    2022年7月27日
    5
  • hexdump用法_comm命令

    hexdump用法_comm命令hexdump命令是Linux下的打印16进制的利器,它可以按我们指定的格式输出16进制,特别有用,配合eeprom来用简直是绝配。今天我们来介绍一个hexdump命令的使用: 首先我们准备一个测试用的文件test,十六进制如下: [plain]viewplaincopy00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F  …

    2022年9月21日
    0
  • 三菱modbusrtu通讯协议报文_modbus通讯协议详解

    三菱modbusrtu通讯协议报文_modbus通讯协议详解点击箭头处“工业之家”,选择“关注公众号”!modbus通讯协议详解Modbus协议可以说是工业自动化领域应用最为广泛的通讯协议,因为它的开放性、可扩充性和标准化使它成为一个通用工业标准。有了它,不同厂商的产品可以简单可靠的接入网络,实现系统的集中监控,分散控制功能。目前Modbus规约主要使用的是ASCII,RTU,TCP等,并没有规定物理层。目前Modbus常用的接口形式主要有R…

    2022年9月4日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号