SciChart: How do I control whether rollover axis labels are displayed - scichart

I have a chart with multiple modifiers that provide different behaviors on rollover. The chart used to have a vertical line that would show up on rollover. I was asked to get rid of it, which was easy:
<sci:RolloverModifier
DrawVerticalLine="False"
but I noticed that the label that shows up under the X axis is still there. I've tried to remove it, I didn't figure out how to do it.
I've examined some other graphs in the application, and found a similar one, which has the labels showing on both the X and the Y axis
[edit: image removed to prevent potential client IP issues]
I tried comparing the charts, and they do have different sets of modifiers, but I didn't find out what causes one graph to only have the graph on the X axis, and the other one on both.

The property you want is RolloverModifier.ShowAxisLabels.
However, the screenshot you've posted looks like the CursorModifier. If you find out that the CursorModifier is adding the labels then you can either remove this modifier, or you can try a workaround like this one on the SciChart Forums (which is 4 years old so may be out of date!)

Related

How to align x-axis scale on two concatenated graphs in Vega Lite

I have a chart composed with vconcat and layer. The layered plot is one of the blocks in the vertical concatenation, it plots two different datasets. There are two more blocks in the vconcat: one that has a different (third) dataset, and another that is a smaller version of one of the layers (used for brushing / zoom). The x scales of all the charts follow the selection via brush signal; the bottom chart sets the signal value via user interaction.
I would like to align the x-axes on all the vconcat chunks. The dataset of the mis-aligned one does not cover as much as the timeseries line (it starts and ends around where the vertical dashed lines are).
When zooming / brushing with the bottom chart, the axes align. When the chart first loads, each x-axis covers the extent of the matching dataset. I'd like the axes to cover the largest extent of all the layers / concat blocks.
I've tried using the resolve config, "shared" vs "independent" etc, with no success.
Not really an answer, but a hack to get the desired result. An accepted answer should be a vega-lite config solution.
I modified the mis-matched dataset to have the same first and last timestamp, which causes the scales to naturally align.

Making Vega-Lite bar marks adjacent

I'm working on a bar plot in Vega-Lite (generated using Altair). Using the Vega-View API, I've written some code where users can select bars, which changes those bars' colors (along with doing some other stuff elsewhere in the application; the details aren't super important for this question).
My problem is this. Using the default continuousBandSize of 5, when zoomed out the bars seem to "overlap" each other horizontally.
Here's a screenshot of this problem.
This problem is resolvable by setting continuousBandSize to 1, but the problem then is that -- when you zoom in to the chart -- the bars become very thin and hard for users to select. (Furthermore, since I'm coloring the bars gray by default, they become hard to distinguish from the grid behind the visualization; and I'd prefer to keep the grid if I can.) Here's a screenshot of this problem.
Is it possible to make the bar marks in Vega-Lite adjacent at any zoom level? Or is this not feasible?
Prior research on this problem
The problem of bars being too thin is mentioned in an issue on Vega-Lite's GitHub page here, but that issue seems to address a different problem (of the bars going outside of the visualization).
I've looked into using padding, paddingInner, and paddingOuter (as mentioned in the Vega-Lite documentation and in the answer to this question), with no success. The problem of increasing sizes causing bars to overlap is also brought up in an (unanswered) comment on this answer.
Example Vega-Lite Specification
An example specification showing a subset of the plot I'm working on (with continuousBandSize set to 1 to show the "thin-bar" problem) is available in the Vega Editor here (apologies for the long URL). As mentioned above, if you zoom in too far with continuousBandSize set to 1, the gray bars become very thin and hard to see. And if you set continuousBandSize to something like 2 or above and zoom out too far, the bars start to overlap each other (this is demonstrated by the blue bar starting to get slightly "covered" by the gray bar to its right -- this isn't super visible here since this is only a subset of the full plot, but the problem is a lot clearer when there are ~500 bars).
Thanks!
In your chart you are setting the x scale type to quantitative, which leads to very thin bars:
If you set the x scale to ordinal instead, the bars fill the space:
In general, bar charts perform better with non-continuous data.
I ran into the same issue. FWIW, the documentation does specify this behavior, although it took me a while to find it: effect of datatype on xaxis scales

SSRS Charts: solution for better assignment of colors to the legend

If you have a line chart in SSRS with many lines, it is nearly impossible to identify which line belongs to which item in the legend, as the colors are nearly the same. Is there a better solution?
bad example of line chart legend
Some suggestions that may help:
Group some of the values into an Other group. It looks like you have
some values that come and go, or don't run for the full timeframe of the
report, lumping these into an Other group will mean less legend items.
Move the legend to the bottom of the chart. This can sometimes make
the legend easier to see; this is not a good option when have a lot
more legend items than what you have now.
Use more than one chart; one chart for each line is possible. This
may be a good option for you. Use more than one chart, and only
display certain values in each. Perhaps you have some natural
grouping in the data that isn’t obvious from what you have provided
in the question. If you do, use that to separate the values into
different charts.
Use a different color theme. The theme you are using now would leave
any color-blind person wondering what was in the chart at all.
Make the chart larger. You just never know, this may work.
Use a column chart rather than a line chart. The bars are wider, and
can be easier to see. Plus, with the way your values come and go, it
may be a better way to visualize the data.
Limit the timeframe of the data being displayed. Having less data may
make this look better, but that may defeat the purpose of the report.
Still, it’s an option.
Good luck.
All good ideas by R Richards. I often end up with charts looking like yours. The first thing I do is ask. Is this of any use to the end user, if not I'll try to rationalise the chart. Some of the ideas in the earlier answer are things I try but also you can try the following without reducing the amount of data in the chart.
Simply make the lines thicker, it's much easier to identify the colours with thicker lines.
Add tooltips to the data points so that the user can hover over the
lines and get info about the line and/or point.
Use a custom pallet, the default palette does not have many colours in (7 I think), so colours are repeated. Creating a custom palette with more colours will make it easier to identify each line. It also means, if you can ensure the order of series in your data that you can you produce consistent charts were a colour always represents a specific business object.
If you have breaks in the data, change the chart to use an average
to give you a continuous line. I think your x axis has to be set as
a time type for this to work, I can't remember off the top of my
head.
Here's a before and after the first two ideas were applied to a sample chart I built.
If you think you need to reduce the data, group line with smaller values together and then add a drill down chart to show these lines.

Checkboxes with order - UI/UX and technical issues

Introduction
An HTML form contains a checkboxes element listing various indicators. The user may choose exactly three items from that list (see image 1). Upon submitting the form, a bubble chart is created, with one indicator each on the x and y axis and the third indicator defining the size of the bubble (see image 2).
Image 1
Image 2
Problem
By choosing the indicators, the user is not able to define the order of the selected indicators. Thus, the user is not able to define, which indicator is on which axis or which indicator is responsible for the bubble size respectively.
Available solutions
Of course, instead on having a single multi-select checkboxes field in the web form, (1) one could create three single-select radio elements named x, y, and z. Or, if the form is ajax-powered, (2) additional form elements could be shown to let the user choose the respective options.
However, with option (1), the indicators would be repeated thrice in the form and with option (2) the additional form elements would not be inside the list of indicators. Further, I would like to keep the indicators in one element due to the fact that there are other chart options using a very similar form (they are all generated from the same toolbox) and the processing functions are relying on specific element names (not types though).
Questions
I've read about multi-state checkboxes, however, the (only) additional state (indeterminate) is just a visual representation, the checkbox must technically still be either checked or unchecked.
Q1: Is there another (similar) form element which could be used?
From what I read, I would assume, that such an element doesn't exist since what I am practically trying to do, is to send two values (indicator id and chart representation).
Q2: Could someone point me to UI/UX best practices for similar cases?
Due to the lack of correct (search) terms, I haven't quite found good examples of solving this or similar situations. "multi-state checkboxes" bring up the before-mentioned indeterminate state, "ordered checkboxes" mostly refer to some MS Excel problems.
What if I want to have the Biomass for x and z?
UX is a very difficult topic, and denying choices from a user doesn't make them happy at all.
So my solution, not to the technical question, but the UX one, would be to convert all check boxes to radio items and add an additional selection (either as a dropdown or again as radio items) with which you select either x,y or z.
This can easily be achieved via js and solve the problem at hand easily. Another advantage is that you only use controls with which users are already familiar with, which might be an additional plus :)

Line Chart Report with 2 Different Scales?

I have a line chart with two lines in it. Sometimes the values between them differ by a hundred or more. That leaves the bottom line looking very flat. I want both of these to remain on the same graph but is there a way to have a different scale for each line?
I was told that it is possible to have one (scale) on the left and one on the right, but I have googled and googled and have not found anything useful.
So any help would be great, thanks!
In the properties for the chart series change the ValueAxisName to Secondary
OR
Right-click on the chart series
Goto Series Properties
Goto Axes and Chart Areas
Change the value Axis to Secondary