Advanced Graphing (Part1): Style Overrides


#1

Series Overrides

You can customize display options on a per series bases, or by using regex rules.

You find series override in Display tab:

After you click on Add override you specify a series name or regex by wrapping the expression in / chars. Then you can use the plus button to add any override.

Color & Point Overrides

In the above graph you can see points, lines and y-axis overrides using regex rules:

Of course you can easily change series color by clicking the colored icon to the left of the series name in the legend. But with the series override you set color using a regex!

Stack Group & Transform Negative

Above we use 2 different stack groups to stack in and out data separately, we also use the negative-y transform to visualize the in series on the negative-y axis (without affecting the hover & legend values).

Options:

Fill Below To

If you have want to graph min, max & avg of some metric you can take advantage of series overrides to customize the look for each series.

So while writing this post I notiticed that there is a bug when adding the Fill below to override (fixed in master). So if nothing happens after you select the min series, switch tab and go back to Display tab. You should see the fill below to override being set. What is not set (due to the bug) is another override that should be added automatically (but is not due to the bug).

So add another override. Specify min as the alias regex and add override Lines false.
So options should look like this:


#2

@torkel
It’s a very useful feature! Thanks.
I wonder, if there any way to assign metric to axis by its content?
For example, I query Elasticsearch with specific hostname and metric name, is it possible to assign metric values to a specific axis using regex applied to metric name?
Example query:
host.keyword:$host AND (item_name.keyword:$metric)
$metric contains something like "Memory used (%)"
Thanks in advance. :slight_smile:


#3

Yes use can use a regex or alias name rule and specify y-axis as the override option


#4

@torkel

How about something for x-axis, is there any way to do that with an override? In particular, using MySQL data source and whether or not using a Time series or Table format query?

For example, a query as such (or making two separate one for x -axis and one for y-axis):

SELECT Value
	, COUNT(Value) as Count 
FROM CanWeights
WHERE TimeStr >= CONCAT(CurDate(), ' 00:00:00')
AND Value > 0;

I’d like to show the Value column values across the x-axis and then have the y-axis go from 0-5000 showing the counts per value and the line will go across the number of cans at each of the listed x-axis weights to the y-axis counts.

  • The y-axis is the count (number of cans) ranging 0-5000
  • The x-axis is the weights of the cans auto or 0-40

The weights are in oz so in format such as 22.55 so one or two digits to the left of the decimal and two digits to the right of the decimal if that even matters, but allowing the data to control the x-axis start and end values would work or going from 0-40 on the x-axis would work too for example if that even matters.

I’ll control the date from which the data is gotten thru the SQL query as you see by TimeStr column but I could make a Stored Proc and pass an argument to the proc for number of days to count back, etc. but I would love to understand the basics first if this would even work or ever be possible?

Will there ever be a way (or is there a way already) to graph from MySQL data source with queries that are not Time series based?


#5

Can you please go into more detail about this sections: Stack Group & Transform Negative?

How exactly did you group the series’ together. I’m basically trying to do the exact same thing with traffic from a SAN.