# Using Numeral.js in Vega graphs to format numbers

**URL:** https://discuss.elastic.co/t/using-numeral-js-in-vega-graphs-to-format-numbers/269537
**Category:** Kibana
**Tags:** vega
**Created:** [April 8, 2021, 1:32am UTC](https://discuss.elastic.co/t/using-numeral-js-in-vega-graphs-to-format-numbers/269537 "2021-04-08T01:32:29Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![walrusVision](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/walrusvision/32/86752_2.png) [@walrusVision](https://discuss.elastic.co/u/walrusVision)
#### Post date: [April 8, 2021, 1:32am UTC](https://discuss.elastic.co/t/using-numeral-js-in-vega-graphs-to-format-numbers/269537/1 "2021-04-08T01:32:29Z")

</div>

I was wondering if its possible to use `Numeral.js` in custom vega graphs to format results into human readable values, and if so, how to do it. In my use case I want to format bytes to a number with the best prefix as per [Numeral Formatting | Kibana Guide [master] | Elastic](https://www.elastic.co/guide/en/kibana/master/numeral.html#_bytes_and_bits)

I can see there a format function which is used in the [sankey example](https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana), and also mentioned in [this forum post](https://discuss.elastic.co/t/vega-viz-displaying-data-in-bytes/154929) but as far as I can tell this the d3js format function and not the `Numeral.js` format.

Thank you!

---

<div class="post-metadata">

### Author: ![wylie](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/wylie/32/81794_2.png) [@wylie](https://discuss.elastic.co/u/wylie)
#### Post date: [April 8, 2021, 2:04pm UTC](https://discuss.elastic.co/t/using-numeral-js-in-vega-graphs-to-format-numbers/269537/2 "2021-04-08T14:04:51Z")

</div>

Hi, this is a good question. Unfortunately you can't mix these two things- the Vega formatting is totally separate from Kibana formatting. We actually have a way that we could mix the two, but it's never come up before.

Would you mind opening a Github issue requesting this? Otherwise I will do one: [Issues · elastic/kibana · GitHub](https://github.com/elastic/kibana/issues)

---

<div class="post-metadata">

### Author: ![aaron-nimocks](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/aaron-nimocks/32/73965_2.png) [@aaron-nimocks](https://discuss.elastic.co/u/aaron-nimocks)
#### Post date: [April 8, 2021, 2:34pm UTC](https://discuss.elastic.co/t/using-numeral-js-in-vega-graphs-to-format-numbers/269537/3 "2021-04-08T14:34:20Z")

</div>

You can do this [manually](https://vega.github.io/editor/#/url/vega/N4IgJAzgxgFgpgWwIYgFwhgF0wBwqgegIDc4BzJAOjIEtMYBXAI0poHsDp5kTykSArJQBWENgDsQAGhCY6AGzhoQAUVLjMAAihsGGiJoBmAJzYJNSefM01xAEzgAPOBGkg7STClQBtUOKQEJXQvJkU3YksGFzQ-ECYAT0wY1AEADgBfKVBE5NdUACYAZnSsnKSUkoAWUuz4ivyi4oLa8ry0ASqqgoBGEsy63JSake6+0oBdGUxjJHEIQzZjBFjQTAScYJBF5YZ5FBkkfO2h1xknHGNlD0wGBEpTzQAeTR6ABgKqzQB+TRu7h4NTQAak0AHJNAAhCGoTQACn+90eL3en00ACpXh8qgBKH6aIxLZCYBGeAGPAhYz5ScFSSgFQxgvGgiEAaWhmlhpNuSKBKOxGKpX0xqNx+J2xO55KBlNFmll2JpYLpDKZIPBmgAshyuYjAXl5ULDXKFZ88b8JZ4pbyDaavnbjYrafTGcyNQBxHXg8RsMEgDITAMZIA). I stopped at GB but you could keep going if you need.

```auto
{
  "$schema": "https://vega.github.io/schema/vega/v5.json",
  "data": [
    {
      "name": "table",
      "values": [
        {"bytes": 58},
        {"bytes": 2358},
        {"bytes": 35458},
        {"bytes": 323258},
        {"bytes": 54421358},
        {"bytes": 45454421358}
      ],
      "transform": [
        {"type": "formula", "as": "fbytes", "expr": "datum.bytes < 1024 ? datum.bytes + ' B' : (datum.bytes < 1024 * 1024) ? format(datum.bytes / 1024, ',.2f') + ' KB' : (datum.bytes < 1024 * 1024 * 1024) ? format(datum.bytes / 1024 / 1024, ',.2f') + ' MB' : (datum.bytes / 1024 / 1024 / 1024) ? format(datum.bytes / 1024 / 1024 / 1024, ',.2f') + ' GB' : 'default value if not matched'"}
      ]
    }
  ]
}

```

**Output**

![image](https://us1.discourse-cdn.com/elastic/original/3X/6/6/6620c434a9ae5894b714d4152487f18994e95ca9.png)

---

<div class="post-metadata">

### Author: ![walrusVision](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/walrusvision/32/86752_2.png) [@walrusVision](https://discuss.elastic.co/u/walrusVision)
#### Post date: [April 8, 2021, 9:29pm UTC](https://discuss.elastic.co/t/using-numeral-js-in-vega-graphs-to-format-numbers/269537/4 "2021-04-08T21:29:35Z")

</div>

Thank you, I've made a ticket here

> <https://github.com/elastic/kibana/issues/96648>
>
> Describe the feature:
> Currently Numeral.js provides all sorts of useful features for formatting numbers. Currently this isn't available in custom Vega graphs...

---

<div class="post-metadata">

### Author: ![walrusVision](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/walrusvision/32/86752_2.png) [@walrusVision](https://discuss.elastic.co/u/walrusVision)
#### Post date: [April 8, 2021, 9:30pm UTC](https://discuss.elastic.co/t/using-numeral-js-in-vega-graphs-to-format-numbers/269537/5 "2021-04-08T21:30:25Z")

</div>

Thank you! That will get me the formatting I need for the moment.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [May 6, 2021, 9:31pm UTC](https://discuss.elastic.co/t/using-numeral-js-in-vega-graphs-to-format-numbers/269537/6 "2021-05-06T21:31:25Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
