Flexmonster - Heat map

Demos

by Flexmonster Pivot Table

HTML

<script src="https://cdn.flexmonster.com/flexmonster.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tinycolor/1.4.1/tinycolor.min.js"></script>

<div id="pivot-container"></div>

CSS

@import url(https://cdn.flexmonster.com/assets/jsfiddle-styles.css);

JavaScript

const pivot = new Flexmonster({
  container: "pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  height: 600,
  report: {
    dataSource: {
      type: "csv",
      filename: "data/sales.csv",
    },
    slice: {
      rows: [
        {
          uniqueName: "Month",
        },
        {
          uniqueName: "[Measures]",
        },
      ],
      columns: [
        {
          uniqueName: "Category",
          levelName: "Product Name",
          filter: {
            members: [
              "category.[condiments].[bbq sauce]",
              "category.[breakfast cereals].[corn flakes]",
              "category.[confectionery]",
              "category.[bakery].[chocolate biscuits]",
              "category.[fruit preserves].[apple jam]",
              "category.[bakery].[apple cake]",
              "category.[soups].[tomato soup]",
            ],
          },
        },
      ],
      measures: [
        {
          uniqueName: "Revenue",
          aggregation: "sum",
          format: "currency",
        },
      ],
    },
    formats: [
      {
        name: "",
        thousandsSeparator: ",",
        decimalSeparator: ".",
        decimalPlaces: 2,
      },
      {
        name: "currency",
        currencySymbol: "$",
      },
    ],
  },
  customizeCell: customizeCellFunction,
});

const colorScheme = [
  "#DF3800",
  "#FF6D1E",
  "#FF9900",
  "#FFB600",
  "#A5CE31",
  "#6CBD05",
  "#00A45A",
];

const minValue = 0;
const maxValue = 15000;

function customizeCellFunction(cell, data) {
  if (data && data.type === "value" && !data.isGrandTotal) {
    let backgroundColor = getColorFromRange(data.value);
    let textShadowColor = tinycolor(backgroundColor).darken(15).toString();
    let borderColor = tinycolor(backgroundColor).darken(3).toString();

    cell.style = {
    	...cell.style,
    	"background-color": backgroundColor,
      "color": "white",
     ...