How to configure Anychart Qlik Sense stacked bar chart as Butterfly chart? - qliksense

I am trying to configure a stacked bar chart as a butterfly chart using Anychart Qlik Sense extension.
This is a description on how to do in Anychart: https://www.anychart.com/products/anychart/gallery/Bar_Charts/Stacked_Bar_Chart_with_Negative_Values.php
The main trick appears to be the use of:
// format y axis labels so they are always positive
chart.yAxis().labels().format(function () {
return **Math.abs**(this.value).toLocaleString();
});
to get positive values on the y axis.
I can see how to format the y axis labels using text formatter tokens but not how to utilise the Math.abs function within the extension label expression.
Any help appreciated.

Unfortunately, the current version of the Stacked Bar chart extension v3.4 doesn't provide the possibility to apply Math.abs-like option for the value. The only alternative we can suggest now is the following string-token: {%value}{useNegativeSign: false}. It replaces the negative sign -value with brackets (value).
We will take into account this use case for future updates.

Related

How to achieve this kind of heatmap / bar chart with Chart.js

I have to build a horizontal bar with chartjs. I already built a few of them but its a bit different. The chart has 2 labels for the yAxis ("Storm Risk", "Ice Risk") and hours for the xAxes. I have to print out for every hour one of these different options with different colors ("Low", "Medium", "Hight") as ye can see in the screenshot attached.
This kind of bar chart usually the values are represented by the length of the bar and its a bit different.
Any suggestion?.
Thanks
The chart you want to implement is a sort of a "heatmap". As of now (Sep. 2018), Heatmap charts are not supported out of the box by Chart.js. However, you can make one out of a stacked bar chart (in this case, probably stacked horizontal bar chart?): make each stack size equal to one another and each item backgroundColor depending on the actual values being represented. Once this is done, you can override ticks and tooltips using with according callbacks. Legend can be implemented by one more bar chart with sample values and colors.
More details can be found in a related GitHub issue: https://github.com/chartjs/Chart.js/issues/4627
Another alternative would be to use a BubbleChart. The strategy would be similar - you would need to make all bubbles same size, but override their colors. However, provided the look in the question, stacked horizontal bar chart will be more suitable.
Another option for those who are still looking is to use chartjs-chart-matrix https://chartjs-chart-matrix.pages.dev/usage.html plugin.
Example of implementation with Chart.js v3: https://www.youtube.com/watch?v=bi04BgvNY6U

Round y-axis values: Dojo Chart vs Chart.js

I am using Dojo Charts to create some line graphs, and this is how the chart looks,
this id chartData: 0,0,0,0,65,223
And when I create the graph using Chart.js, this is how it is rendered
Ignore the x-axis and other things, If we look at the y-axis, the values are rounded in chart.js, looks much nicer when compared to dojo charts.
Is there an option to achieve the same in dojo charts?
Try adjusting majorTickStep, or optionally also set minorTickMarks to true and adjust minorTickStep as well.
See http://dojotoolkit.org/reference-guide/1.10/dojox/charting.html#enabling-and-disabling-tick-marks and "Axis Stepping" two sections later.

Create a dynamic "cross section" for competence vs. confidence chart in Report Builder 3.0

I have created a confidence vs. competence chart using Report Builder 3.0. Currently the "cross section" of the chart is static and separated by a background image on the chart.
Like this:
However, as a requirement, the cross section needs to be dynamic. I can remove the background image (it isn't needed). I can pass the values for the both the x and y axis into the report when the lines need to cross. The problem is trying to actually implement this on the chart.
Can anyone provide a solution or point me in the right direction?
The cross section is just a line graph (or two) overlayed on your original chart.
Here's an example of overlayed charts:
http://www.sqljason.com/2012/03/overlapping-charts-in-ssrs-using-range.html

How to set series expression when you do not have any series when creating bar chart in iReport?

I have created a bar chart in iReport Designer 5.1.0. I want to show some ips at x axis and the occurrence of each of these ips at y axis. The bar chart must have a single color but when I run it bars have different colors with each other. I think series expression has to be empty, and I have to put $F{ip} in category expression and $F{occurrence} in value expression, but series expression has to be filled because it is not optional.
It would be great if someone can help me.
In your series expression, using quotes you can just specify something like a name or anything relative to the chart. For e.g,"Ip v/s Occurrence". Basically have a string value in there. This will be displayed as a legend. You would get the chart in single color.
change the orientation again back to vertical. Click the barchart and choose the properties to be orientation:vertical.
Hope thats what you meant

iReport Line and Bar in same chart

I'm using iReport to try to create a chart for bug tracking. I need a stacked bar chart for the different severities of the open bugs by day and a line showing the total number of bugs by day. It's easy enough to build a multi-axis chart but it always shows up with distinct ranges on the Y axis. I want the Y axis to be the same range so that the total bugs line floats above the stacked open bugs bars. This is simple to do in Excel or Crystal Reports but I cannot see a way to do this in iReport. I need to be able to either merge Y axis in a multi-axis report or be able to change the series type of one of the series from stacked bar to line. Any tips/reading materials would be greatly appreciated.
It would be nice if it were more automated, but you can use a solution like this pretty easily:
Instead of calculating the Range Axis height automatically, create your own variable to decide an appropriate value for the maximum value. Then you can set the Range Axis Max Value to the same thing for both charts.