Hello SciChart-Team,
we had the requirement to show the zero line when there are negative values ​​in the chart.
We noticed the following things, especially in connection with the main grid lines.
There are some side effects at certain sizes of the window:
When the gridlines are on(see screenshot 1):
1. Grid line and tick are not on the same level (Only for certain sizes)
2. The grid line and horizontal annotation line (green) are not aligned either (Only at certain sizes)
3. The axis line (defined via BorderThickness) is also not aligned with the grid line (regardless of the size of the control).And the bottom tick is never aligned with the major grid line
If the major grid lines are switched off, the zero annotation line is not aligned to the ticks for certain sizes of the control (see screenshot 2)
It looks like different algorithms were used to calculate the line position of the ticks, grid lines and line annotations.
The problem was detected on the monitor with 100% scaling. On a 4K monitor with scaling > 100%, the problem became even more apparent
Do you have any suggestion how to solve the problem?
I’ve attached a modified example project in which the behavior can be reproduced.
Regards
Silvester Schneidt
- Silvester Schneidt asked 2 years ago
- last active 11 months ago
Real Time EEG LiVE chart of 24 channels, jumps two x minor gridlines at a time . How to make it to move one gridline at a time ?
Is there any setting for that ?
- Aditya Kadambi asked 3 years ago
- last active 3 years ago
Hi,
i’d like to style my major and minor grid lines so that they are not visible over the whole width of the chart but only in the center.
I tried to asign them a LinearGradientBrush, but that did not show the Gridline at all, clipping did not change anything on the visual appearance of the Gridlines. Are these stylings not supported for grid lines?
My styling of grid lines and axes look as the following:
<Setter Property="MajorGridLineStyle">
<Setter.Value>
<Style TargetType="{x:Type Line}">
<Setter Property="Stroke" Value="DarkRed" />
<Setter Property="StrokeThickness" Value="1" />
</Style>
</Setter.Value>
</Setter>
<Setter Property="MinorGridLineStyle">
<Setter.Value>
<Style TargetType="{x:Type Line}">
<Setter Property="Stroke" Value="Gray" />
<Setter Property="StrokeThickness" Value="1" />
</Style>
</Setter.Value>
</Setter>
...
<s:SciChartSurface.XAxis>
<s:NumericAxis VisibleRange="{Binding ScaleBarRange}"
FlowDirection="RightToLeft"
MajorDelta="5"
DrawMajorGridLines="True"
MinorDelta="1"
DrawMinorGridLines="True"
Style="{StaticResource ScaleStyle}">
</s:NumericAxis>
</s:SciChartSurface.XAxis>
<s:SciChartSurface.YAxis>
<s:NumericAxis Visibility="Collapsed"
DrawMajorGridLines="False" />
</s:SciChartSurface.YAxis>
I attached an image that shows approximately how i’d like it to be and i already have a workaround using two surfaces overlayed over each other, but that one i’d really like to get rid of.
I’d be thankful for a hint that allows me to individually crop/clip grid lines.
Thanks,
Martin
- Martin Godec asked 7 years ago
- last active 7 years ago
Hi, guys
Please take look at:
http://prntscr.com/gmmib5
So my question is
Is there a way to highlight a line of a gridlines to which the label belong? It can be a color changed or something similar that can be easily perceived by the user.
Best regards,
Sushynski Andrei
- Andrei Sushynski asked 7 years ago
- last active 7 years ago
Hi, guys
My x axis is SCICategoryDateTimeAxis and i’m want to draw grid line with custom period. Let’s say every four hours for data with a period of thirty minutes. What is the best way for that?
Can i redifined axis’s tickCoordinatesProvider?
Can you provide some example?
Or it only possible with axes annotations ?
Best regards,
Sushynski Andrei
- Andrei Sushynski asked 7 years ago
- last active 7 years ago
I am trying to use a BoxAnnotation to put an image on my graph. I am using BelowChart AnnotationCanvas so I can have the graph on top of the image. However, doing so also puts the grid lines on top of the annotation as well. Is there a way to keep the annotation below the chart but still keep it above the grid lines?
- [email protected] asked 7 years ago
- last active 7 years ago
Hi,
I want to limit the range of the grid lines of a graph. For example on the screenshot, I don’t want any gridlines on the marked area.
Is there way to do what I want?
I’m using version 3.60.0.7618
Thank you
- kewur asked 8 years ago
- last active 8 years ago
My chart has a black background, and I want to draw a shaded region but setting the alpha fairly low just makes it bleed into the black behind it and look rather ugly. I’d rather use a solid color for that region so it doesn’t blend with the black background, but then it blocks out the grid lines since it’s drawing above them. Is there any way to get annotations to draw below grid lines?
- Stuart Morgan asked 8 years ago
- last active 8 years ago
Hello,
I have a heatmap that I pass two mapping functions to the Heatmap2DArrayDataSeries (one for x indices and one for y indices).
That is working great.
The user can set the amount of intervals they want to see (as major gridlines). So what I want is to manually control the MajorDelta and MinorDelta, and also set the AutoTicks=false.
When I do this, it renders all the frame for the SciChart Surface, but it seems that it starts making calculations and never draws the heatmap not the gridlines, and finally it throws an OutOfMemory exception.
My data set is not that large: 60×112
What alternative do I have for controlling the amount of intervals shown?
Thank you.
Sebastian
- Sebastian de Ugarriza asked 8 years ago
- last active 8 years ago
Hi All,
I have a situation where the chart needs to be switched between a log scale and a linear scale. To solve this I created 2 axis (one of each) and collapse one of them while the other is visible. The user can switch between them from a context menu.
I declare them in XAML as:
<s:SciChartSurface.YAxes>
<s:NumericAxis x:Name="LinearAxis" Id="LinearAxisID" AutoRange="Always" AxisAlignment="Left" AxisTitle="Linear" Style="{StaticResource LinearScaleStyle}" Visibility="Visible" GrowBy="0.0, 0.1"/>
<s:LogarithmicNumericAxis x:Name="LogAxis" Id="LogAxisID" AxisAlignment="Left" AxisTitle="Log" Style="{StaticResource LogScaleStyle}" GrowBy="0.0, 0.1" />
</s:SciChartSurface.YAxes>
THE ISSUE:
I’ve noticed that the Major and Minor gridlines are drawn based on the order the Axis are declared in <s:SciChartSurface.YAxes> which isn’t a problem. The problem comes when I collapse one axis and make the other visible (obviously re-assigning the series to the visible axis by ID) – The axis and data change as you might expect but the major and minor gridlines are not redrawn.
In summary, if you start with log gridlines, you always get log gridlines – even on a linear axis.
Is there a way to force the redrawing of the gridlines?
- Stuart McCullough asked 9 years ago
- last active 5 years ago
Hello everybody,
my project is very similar to “Quad Left-Right Y-Axes”-Example. If you have a look at this, the Gridlines only math the Left Axis 1. All other Axes have their Major/Minor Ticks randomly spread. It’s not easy to see fast what value has another series then the first because the Gridlines simply dont match.
Is there a way to have all the Major/Minor Ticks Aligned to the Left Axis 1 ones? (i attached a picture which it should look like) But the Series don’t have the same Range. So the Major steps should only match in Grid, not in value (except 0 should be on one line).
I hope you understand my problem.
thx in advance for help
PS: i use full dynamic MVVM approach, the only code in View is ->
<s:SciChartSurface
Style="{StaticResource SciChartSurfaceStyle}"
GridLinesPanelStyle="{StaticResource GridLinesPanelStyle}"
ChartModifier="{Binding chartModifier}"
SeriesSource="{Binding seriesSource}"
YAxes="{Binding yAxes}"
XAxes="{Binding xAxes}"
Annotations="{Binding annotations}"
>
</s:SciChartSurface>
- Michael Spannbauer asked 10 years ago
- last active 10 years ago