C++使用色条

cppcolormap

很多时候我们想把连续或离散的数值用不同的颜色表达,达到漂亮的可视化效果

这个库提供了很多常用的色条,Github地址:cppcolormap

部分色条示例:

使用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <xtensor/xio.hpp>
#include <xtensor/xview.hpp>
#include <cppcolormap.h>

int main()
{
auto colormap1 = cppcolormap::colormap("jet", 256);
auto colormap2 = cppcolormap::jet(256);

auto colorcycle1 = cppcolormap::colorcycle("tue");
auto colorcycle2 = cppcolormap::tue();

for (size_t i = 0; i < 256; i++)
{
double r = colormap1(i, 0);
double g = colormap1(i, 1);
double b = colormap1(i, 2);
}

return 0;
}

注意:

  1. 上面两种获取colormap/colorcycle的方式得到的结果是一样的
  2. 不同colormap中的默认颜色数量不一定相同,但是可以显式的指定需要的颜色数,会自动对颜色插值,但colorcycle不行
  3. 最终得到的rgb分量是在 [0,1] 范围内的