How can I apply a threshold for a bar graph in Kibana?


I've gone through this particular <a href="https://github.com/elastic/kibana/issues/5037" rel="nofollow">ticket</a>, which pretty much talks about adding a threshold line, to a line graph.

In my case, I'm having a bar graph like <a href="https://imgur.com/a/qGxAl" rel="nofollow">this</a> where I need to have a threshold, lets say for example in the above graph itself I should be able to show the difference in each and every bar.

In other words as per the above graph, it's displaying the sum of chargeamount according to the filter I've given. What I need to do is, to show the difference using a color in the same bar itself if the sum of chargeamount is greater than 50,000.

So is there a way that I can show the bar with the default color for the filter (ie: the ones which are less than 50,000) and the rest should be shown in a different color conveying the threshold. So that the user can see the difference in the bar itself, whether they've achieved more than 50k.

Is this possible using a bar graph or should I be get going with some other graph?


Just noticed that this <a href="https://github.com/elastic/kibana/issues/4482" rel="nofollow">issue</a> is still open. Any enhancement over that, or any work around available atm?

Any help could be appreciated. :)


Timelion to the rescue! Altough haven't figured out stacking something like this could work for now:

.es(*).if(gt,100,.es(*),null).bars().color(red) .es(*).if(lte,100,.es(*),null).bars().color(blue) .static(100)

Here is what it does:

1.Get every datapoint with a value greater than 100 and null everything else. Make a bar graph with color red.

2.Get every datapoint with a value less than equal 100 and null everything else. Make a bar graph and color it red.

3.Finally draw a line at value 100.

What you need to do is replace the * with a valid expression and you should be good to go!

There might be a way to subtract the value and add it on another graph but I haven't figured out how to do that. If I find a solution I will update this answer.


  • Java - How to separate a list based on a property of it's elements
  • SQL Increment column value in select statement
  • Setting currency format for labels of vertical axis in jFreeChart
  • PHPExcel Chart Axis Options set Minimum
  • How to create two column output from a single column
  • How to get the date of next specified day of week
  • Python cosine function precision [duplicate]
  • How can I get the choice “H2” back in the H2 consol?
  • Approximate Order-Preserving Huffman Code
  • jQuery Orbit - How to make a Random Slideshow?
  • Authentication in Play! and RestEasy
  • How does document.ready work with angular element directives?
  • jQuery ready not fired after rails link_to is clicked
  • Webgrid not refreshing after delete MVC
  • Ionic 2 storage is not cleaning up on uninstall - Only for signed APK
  • one Local Olampyad Questions on Informatic in 2011
  • Bad request using file_get_contents for PUT request in PHP
  • $wpdb not working in file of WordPress plugin
  • Display issues when we change from one jquery mobile page to another in firefox
  • Spring security and special characters
  • Different response to non-authenticated users and AJAX calls
  • Why HTML5 Canvas with a larger size stretch a drawn line?
  • Spray.io: When (not) to use non-blocking route handling?
  • How reduce the height of an mschart by breaking up the y-axis
  • Why doesn't :active or :focus work on text links in webkit? (safari & chrome)
  • How to redirect a user to a different server and include HTTP basic authentication credentials?
  • Modifying destination and filename of gulp-svg-sprite
  • How to apply VCL Styles to DLL-based forms in Inno Setup?
  • Can I make an Android app that runs a web view in Chrome 39?
  • Arrow is showed instead of the material design version hamburger icon. Why doesn't syncState in
  • When should I choose bucket sort over other sorting algorithms?
  • GridView Sorting works once only
  • Data Validation Drop Down Box Arrow Disappearing
  • Matrix multiplication with MKL
  • retrieve vertices with no linked edge in arangodb
  • Why can't I rebase on to an ancestor of source changesets if on a different branch?
  • Android Google Maps API OnLocationChanged only called once
  • LevelDB C iterator
  • Linking SubReports Without LinkChild/LinkMaster
  • Python/Django TangoWithDjango Models and Databases