当前位置: 首页 > news >正文

快速创建条形热力图

Excel中的条件格式可以有效的凸显数据特征,如下图中B列所示。

在这里插入图片描述

现在需要使用图表展现热力条形图,如下图所示。由于颜色有多个过渡色,因此手工逐个设置数据条的颜色,基本上是不可能完成的任务,使用VBA代码可以快速创建这种图表。

在这里插入图片描述

由于数据条是等高的,因此需要增加辅助列,如下图中C列所示。

在这里插入图片描述

示例代码如下。

Sub HeadMapColumnChart()Dim srcRng As Range, i As Long, oSerCol As SeriesSet srcRng = Range("C1").CurrentRegionColumns("C").InsertWith srcRng.Columns("C").Value = "1".Cells(1).Value = "CD"End WithActiveSheet.Shapes.AddChart2(201, xlColumnClustered).SelectWith ActiveChart.SetSourceData Source:=srcRng.Columns("C").Axes(xlValue).MaximumScale = 1.ChartGroups(1).GapWidth = 0.SetElement (msoElementPrimaryValueAxisNone).HasAxis(xlCategory) = TrueSet oSerCol = .FullSeriesCollection(1)End WithWith srcRng.Columns(1)oSerCol.XValues = "=" & ActiveSheet.Name & "!" & .Resize(.Rows.Count - 1).Offset(1).AddressEnd WithFor i = 2 To srcRng.Rows.CountoSerCol.Points(i - 1).Format.Fill.ForeColor.RGB = Cells(i, "B").DisplayFormat.Interior.ColorNext
End Sub

【代码解析】
第3行代码获取数据表单元格区域。
第4行代码在C列插入空白列,如果工作表中C列为空白列,那么可以省略此行代码。
第6行代码在C列插入辅助列,赋值为1,这样可以实现等高数据条。注意此处只针对数据表所在行进行赋值,并非将整个C列填充数值。
第7行代码C1单元格的值等于B1,用做图表标题。
第9行代码插入柱图。
第11行代码设置数据区域为C列。
第12行代码设置纵轴最大值为1。
第13行代码设置数据条之间宽度为0。
第14行代码隐藏纵轴。
第15行代码设置横轴为分类轴。
第16行代码获取图表系列。
第19行代码设置横轴分类标签。
第21~23行代码循环遍历数据区域,并设置数据条的填充颜色。
第22行代码设置数据条的填充色,由于B列中使用条件格式设置的颜色,因此需要使用DisplayFormat.Interior.Color属性读取其颜色值。

http://www.lryc.cn/news/383642.html

相关文章:

  • go switch 与 interface
  • BaseMapper 接口介绍
  • HAL-Cubemax定时器使用记录
  • 同时使用磁吸充电器和Lightning时,iPhone充电速度会变快吗?
  • 零成本搭建个人图床服务器
  • SpringBoot 搭建sftp服务 实现远程上传和下载文件
  • IDEA中使用leetcode 刷题
  • 华为海思CPU解读
  • 中介子方程三十三
  • 今年哪两个行业可能有贝塔?
  • 嵌入式软件开发工具使用介绍
  • 【TB作品】MSP430G2553,单片机,口袋板, 交通灯控制系统
  • windows 安装 Kubernetes(k8s)
  • C语言 | Leetcode C语言题解之第189题轮转数组
  • 【安全审核】音视频审核开通以及计费相关
  • 【实战】Spring Cloud Stream 3.1+整合Kafka
  • java之可变字符串之append方法
  • [保姆级教程]uniapp自定义导航栏
  • 项目训练营第二天
  • 考研数学一有多难?130+背后的残酷真相
  • vue2脚手架笔记总结1
  • 校园巡礼:一周只上四天课,入学即发钱?深圳理工大学,开局即王炸
  • 免交互 实验
  • Sublime Text 设置
  • spire.Pdf 将pdf转成image
  • 仓颉编程语言 -- 初识(一)
  • 前端JS必用工具【js-tool-big-box】学习,数值型数组的正向排序和倒向排序
  • python web框架哪家强?Flask、Django、FastAPI对比
  • Mybatis plus:IService接口
  • 时序分析基本概念介绍——min pulse width 最小脉冲宽度