Disable auto scale for Visiblox chart - zooming

I have a dynamic chart where you cna change the chart in real time by dragging dots on the line, but since Visiblox have some kind of auto scale/zoom its quite unusable.
I've tried AutoScaleToVisibleData = false on the two axis, but it does not do anything... I have a ZoomBehaviour and still want to be able to zoom, but I do not want it to be auto

AutoScaleToVisibleData determines whether the scale on one axis should be dependent on the scale of another (e.g. only show a scale for the y-axis that encompases what is currently visible on the x-axis).
To fix the range (and disable auto-ranging) of the data you need to set an explicit range to the axis. See http://www.visiblox.com/blog/2011/03/visiblox-charts-ranges-demystified for more info.
Also you may want to have a quick look at http://www.visiblox.com/blog/2011/09/creating-a-custom-behaviour-part-1 since that sounds a bit like what you want?

Related

Margin on the chart in NVD3

Does anyone know how to put a margin at the top of the chart? I don't know if it's possible or a bug.
I already tried to modify the .margin({top: x, right: x, bottom: x, left: x}) but this is not the margin that I'm looking for. Setting the chart.yDomain() isn't good because I want the chart to rescale.
EDIT
My interest is that the linewithfocuschart rescale, not just force the domain.
The issue seems to be when the tooltip appears at the highest point in the chart. Maybe a bug, not really sure.
But here's one way of doing it, might not be the best way:
chart.forceY([0,160]);
By looking at your chart I'm assuming that 140 is the highest value in you chart. So I'm forcing the Y axis on the chart to show values between 0-160.
Update
Earlier I suggested the use of chart.forceY([0,160]); as a work around to adding margin to the chart top so the tooltips are clearly visible with the highest points. Although this approach only makes changes to the main chart and not the focus chart.
After some further investigation, I found out that you could use the following to rescale the chart and the focus:
chart.lines.forceY([0, yMax])
chart.lines2.forceY([0, yMax])
Here's a working example of using with a NVD3 lineWithFocusChart(). I have also got the yMaxdynamically in line 15 of my code.

Horizontal Axis Properties

In my chart, Incomprehensible what value of Y axis belong to X axis, what the best way to present the chart clearly. Attached Image.
Have you considered using StripLines?
Taken from this MSDN article
To show vertical strip lines, right-click the horizontal chart axis and click Horizontal Axis Properties.
Select the Use interlacing option. Grey strip lines will appear on your chart.
Applying this to a chart will then alternate the colour for each category on the X axis, such as this. This will make it clearer which columns belong to which X axis category.
Update
For use with a 3D Clustered column chart you will need to set up the Striplines in a more complicated way.
Select your X axis and find StripLines in the properties. Hit the '...' to open a new window.
Add a New Member and set it up as shown in the below image. This is effectively saying show a line for every second number, and offset the stripline by 0.5 of a category.
In my example I have set the BackgroundColour to MidnightBlue also, which gives an output similar to
With this alternating background it should make it clearer for your users to see which columns belong to which category.
Let me know if you need further assistance with this.

Large ratio values ssrs chart

I have a bar chart that show the count of number of models for each agency,
The problem is that I have a large difference between the values that makes the report to look not so good.
Does anyone have any ideas of a good way to resolve this problem?
Have you considered using a logarithmic scale?
With your chart Right-click the y-axis, and click Vertical Axis Properties.
In Axis Options, select Use logarithmic scale.
Leave the Log base text box as 10 (this is the scale most commonly used by logarithmic charts)
This will display a chart with a scale that goes up by a factor of 10 for each ‘unit’ up, so the distance between 1 and 10 is the same as that between 100 and 1000.
For example the shown dataset is displayed as this chart when using the logarithmic scale
This method is a simple and recognised way to clearly show values of widely different scales.
Update
If want an indicative bar for the vales that are 1 then you could use the expression
=iif(Fields!val.Value = 1, Fields!val.Value * 1.1, Fields!val.Value)
To make all values that are 1 equal to 1.1 so showing a tiny bar appearing a the bottom of the chart, as seen here
Unfortunately I don't know of a way to change that first 1 to a zero (formatting-wise). This is partly because you are now using a logarithmic scale and zero and negative values don't really exist. This is due to a fundamental property of logarithms in mathematics, that
LOG10(10)= 1
LOG10(1) = 0
LOG10(.1)=-1
Therefore, when you perform a log10 of zero, it just doesn't exist.

SSRS range chart series labels overlap and do not align left

I have built a "gantt" style range chart in SSRS using Narayana Palla's model. I am using date parameters to view the data by a date range - my dataset is museum exhibitions over a number of years. I have opted to use the DrawSideBySide = false custom attribute to display series data but I can not position the series labels as I want. I want them to align left however they align right and overlap with each other. I have tried many different combinations of properties including the smartlabel properties but can not impact on the position of the labels in the series. I have not been able to find a solution in my searching.
I would be happy to have my series displayed using DrawSideBySide = true but the bars are so narrow that neither they nor their labels can be seen. Again I have tried many combinations of properties to set the width of the bars but to no avail. I believe this is due to the number or series in the whole of my chart / dataset.
I would like advice on :
1. How to adjust the position of the labels in the series OR
2. How to fix the width of the series bars so that I can see them on my chart OR
3. If I am right about the size of the data set making the bars miniscule how can I best resolve this - say group on year so that only a limited (and therefore hopefully wide) set of series bars appear at a time from page to page.
Very grateful for any assistance, Sally
In SSRS, for the label overlapping issues, the only way is manually changing the chart area size to make enough space for those labels. Otherwise we have change an appropriate chart type.

Implementing Target lines, in SSRS column Charts

I have a column graph, that shows a trend of consumption over time,
The y-axis being consumption and x-axis being time in month,
I have to implement a target consumption.
I implemented a target, by adding data field with a Line chart type, this is a constant, and will just display a horizontal line.
The problem i am facing is, if there is only one month, the line disappears? is there a way not to have it disappear, or is there a better way to add line target in column charts in SSRS
I am using SSRS 2008
Adding a StripLine may do what you want. They are a little hard to find, but here is how:
1) Make sure that the properties window is open beforehand. If it isn't, either hit F4 or go to the View Menu -> Properties Window.
2) Left click on your vertical axis to select it.
3) Select the StripLines entry in the Properties Window and click the ellipsis:
4) Click Add
5) Starting off, the stripline is invisible, so it can be a bit hard to adjust. :). To make it visible as a thin line, set BorderStyle to "Solid". Adjust the color with BorderColor and width with BorderWidth (not StripWidth). While positioning the line, I like to set the color to something obnoxious and make it wide to make it easier to spot.
5) To position it, you want to set the IntervalOffsetType to match the type of your interval you have set on the vertical axis. Then IntervalOffset to the y-value of where you want your target line to appear. Since you only want 1 line to appear and not repeat, you must keep Interval set to auto.
6) Once you get it positioned, make final adjustments to the appearance.
I had a hard time finding it for my Databar. I stumbled onto this...
Make sure Properties toolbar is visible
Click the Databar to highlight
Find ChartAreas in properties toolbar, click to open ChartAreas dialog
Find ValueAxes in ChartAreas dialog, click to open ChartAxis dialog
Find StripLines in ChartAxis dialog, click to open ChartStripLine dialog
I was playing around a little earlier, and i noticed that i can change the interval for the major and minor gridlines, AND change the format for the lines. I had the bright idea of making the minor lines look like the major ones i had and format the major lines to look like a target line. I don't know if this'll work for you buy you could try it.