快速创建条形热力图

161 篇文章 16 订阅
8 篇文章 0 订阅

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

示例代码如下。

Sub HeadMapColumnChart()
    Dim srcRng As Range, i As Long, oSerCol As Series
    Set srcRng = Range("C1").CurrentRegion
    Columns("C").Insert
    With srcRng.Columns("C")
        .Value = "1"
        .Cells(1).Value = "CD"
    End With
    ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
    With ActiveChart
        .SetSourceData Source:=srcRng.Columns("C")
        .Axes(xlValue).MaximumScale = 1
        .ChartGroups(1).GapWidth = 0
        .SetElement (msoElementPrimaryValueAxisNone)
        .HasAxis(xlCategory) = True
        Set oSerCol = .FullSeriesCollection(1)
    End With
    With srcRng.Columns(1)
        oSerCol.XValues = "=" & ActiveSheet.Name & "!" & .Resize(.Rows.Count - 1).Offset(1).Address
    End With
    For i = 2 To srcRng.Rows.Count
        oSerCol.Points(i - 1).Format.Fill.ForeColor.RGB = Cells(i, "B").DisplayFormat.Interior.Color
    Next
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属性读取其颜色值。

  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ScottPlot是一个基于C #编写的绘图库,主要用于在NET框架中生成高质量的图表和数据可视化。它是开源的,简单易用,并且拥有完整的文档和示例,可以方便地集成到您的项目中。 ScottPlot可以绘制各种类型的图表,包括线图、散点图、条形图、饼图、热力图等,同时还支持添加注释、标签、图例等元素。您可以通过直接调用函数来创建图表,也可以使用现成的示例代码来扩展您的图表。 ScottPlot还提供了许多高级功能,例如自适应缩放、支持大数据集、实时动态更新等,使得它成为处理复杂数据可视化的不二选择。除此之外,ScottPlot还可以与Windows Forms、WPF、ASP.NET以及Mono框架等一系列.NET环境结合使用。 总的来说,如果您需要在.NET项目中轻松而又流畅地创建出色的图表和数据可视化,那么ScottPlot是一个值得推荐的绘图库。 ### 回答2: ScottPlot是一个专门用于绘制图表的开源C#库,它能够快速创建各种类型的图像,如信号图、散点图、柱状图、饼图等。ScottPlot的主要特点是使用方便、性能高、可扩展性好。它可以与.NET Framework、ASP.NET和Mono Framework无缝集成,使用起来十分灵活和方便。 ScottPlot的使用方式非常简单,用户可以通过调用ScottPlot的API来进行图形绘制和数据处理。相对于其他的绘图库,它具有几个独特的特点: (1)性能优秀,可以处理大量的数据。 (2)支持多种操作和交互方式,如拖动、缩放、放大、缩小等。 (3)提供多种图标类型和样式的选择,用户可以自行设置颜色、线条样式、标签等。 (4)支持快速刷新,可以实时显示数据变化。 (5)具有良好的集成性,能够很好地与其他的编程工具和框架进行集成。 总之,ScottPlot是一款非常好用的图表库,能够方便快捷地生成各种类型的图形,可以满足用户在数据可视化方面的需求。作为一个开源的库,它更新迭代频繁,用户可以在GitHub上随时获取其最新版本。 ### 回答3: ScottPlot是一个开源的、基于.NET框架的绘图库,封装了大量的绘图功能,旨在为C#和Python编程提供极为简单和灵活的绘图解决方案。ScottPlot采用了面向对象和响应式编程思想,使用者可以轻松地绘制各种常见的图形,如折线图、散点图、热力图、柱形图等。 ScottPlot支持常见的图形元素,如标签、标题、图例等,使得用户可以快速创建自己想要的图形。此外,ScottPlot的代码易于理解和修改,也使得用户可以根据自己的需要自定义绘图功能。ScottPlot还具有良好的性能和交互性能,在海量数据的情况下,也可以平滑地运行。 总之,ScottPlot是一个非常优秀和实用的绘图解决方案,它的灵活性、易用性和可扩展性都极高,适用于各种数据分析和数据可视化任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值