Pre loader

Forums

Welcome to the SciChart Forums!

  • Please read our Question Asking Guidelines for how to format a good question
  • Some reputation is required to post answers. Get up-voted to avoid the spam filter!
  • We welcome community answers and upvotes. Every Q&A improves SciChart for everyone

WPF Forums | JavaScript Forums | Android Forums | iOS Forums

0 votes
10k views

Andrew,

I had a question about having multiple Chart Modifiers active at the same time. I’m trying have 6 chart modifiers enabled at all times. Its seems like some of them don’t work. Here is my code

<sciChart:SciChartSurface.ChartModifier>
<sciChart:ModifierGroup >
<sciChart:XAxisDragModifier ClipModeX="None" />
<sciChart:YAxisDragModifier IsEnabled="True" />
<sciChart:ZoomPanModifier IsEnabled="True" />
<sciChart:CursorModifier IsEnabled="True" ShowAxisLabels="False" ShowTooltip="True" />
<sciChart:MouseWheelZoomModifier />
<sciChart:ZoomExtentsModifier ExecuteOn="MouseDoubleClick" />
</sciChart:ModifierGroup>
</sciChart:SciChartSurface.ChartModifier>

The YAxisDragModifier and the ZoomPanModifier dont’ seem to work. Are some of the chart modifiers mutually exclusive or is there a “ClipModeX” type setting that I need to turn on for these to work.Thanks for all your help, I appreciate it.

Deepak

0 votes
3k views

I would like to change the backgound color of my piechart.

const sciChartPieSurface = await SciChartPieSurface.create(props.chartName);
sciChartPieSurface.applyTheme(new SciChartJSLightTheme());

This code above doesnt change anything.

0 votes
14k views

I am showing tooltip with CursorModifier. My tooltip bigger than SciChartSurface and I am using ClipModifierSurface=”False” in order to show whole tooltip. But in this case axis labels and scroll bar are on top of tooltip.
Described problem can be seen on Featured Apps > Scientific Charts > Oscilloscope Demo.
Is there any way to bring tooltip on top of chart surface?

Thanks
Samvel

1 vote
15k views

Hello again!

I’ve got a problem with LineAnnotation display on the axis: it is blurry (image 1). I have tried to use UseLayoutRounding/SnapsToDevicePixels properties from this post https://www.scichart.com/questions/question/2-1-1-lines-are-sometimes-blurry-when-added-to-modifier-surface, but it doesn’t work. Any ideas to make this LineAnnotation look like other annotation on surface?

Thanks in advance!

  • Egor asked 9 years ago
  • last active 5 years ago
0 votes
0 answers
8k views

I want to customise BrightSpark theme from scratch.

In the page below, there is SciChartv4Dark theme’ s xaml.
https://www.scichart.com/documentation/win/current/webframe.html#Creating%20a%20Custom%20Theme.html

Can I get same thing for BrightSpark theme?

1 vote
0 answers
1k views

The console prints an exception when I zoom in and out with the mouse wheel:

SciChartSurface didn’t render, because an exception was thrown:
Message: Arrays yValues and indexes must have the same length

Stack Trace: at swb.iwb(Int32 bij, String bik, Int32 bil, String bim)
at SciChart.Data.Model.UniformXyPointSeries..ctor(Double xStart, Double xStep, Values1 yValues, Values1 indexes)
at SciChart.Charting.Visuals.RenderableSeries.DrawingProviders.PointMarkerDrawingProvider1.OnDraw(IRenderContext2D renderContext, IRenderPassData renderPassData)
at SciChart.Core.Extensions.EnumerableExtensions.ForEachDo[T](IEnumerable
1 enumerable, Action`1 operation)
at SciChart.Charting.Visuals.RenderableSeries.BaseRenderableSeries.InternalDraw(IRenderContext2D renderContext, IRenderPassData renderPassData)
at SciChart.Charting.Visuals.RenderableSeries.BaseRenderableSeries.SciChart.Charting.Visuals.IDrawable.OnDraw(IRenderContext2D renderContext, IRenderPassData renderPassData)
at ebu.toj(RenderPassInfo gj, IRenderContext2D gk, Int32 gl)
at ebu.toi(ISciChartSurface gg, RenderPassInfo gh, IRenderContext2D gi)
at ebu.RenderLoop(IRenderContext2D renderContext)
at SciChart.Charting.Visuals.SciChartSurface.DoDrawingLoop()

Here is a simple example program uploaded.

  • hundun wds asked 11 months ago
  • last active 11 months ago
0 votes
10k views

with Version 3.61.0.7847 I can set Runtime license without problem
with v4.0.30319 the message “Der Typeninitialisierer für “” hat eine Ausnahme verursacht.” appear

Has anybody a solution?

0 votes
2k views

Hi,

I’m creating a custom modifier that is derived from a VerticalSliceModifier. Basically if I press CTRL+Click, a VerticalLineAnnotation is added to the VerticalLines property, and tooltips with Y values are displayed. I’m using a collection of LineRenderableSeriesViewModel as data to chart. It works with one detail: my chart is within a tab, and when the tab changes and then returns, the tooltips disappear.

After further investigation, I noticed that the SeriesData ends up with 0 elements after the tab switch. To fix this, I have overrided the OnPropertyChanged on the class, and if the property that changed is “IWindowService”, I remove all markers if new value is null and add them back when new value is not null.

I don’t know why the “IWindowService” property is changed, or what the implications of that are. So even when the solution works, I don’t understand the internal mechanics of why it does.
I feel like there should be a better way to solve this. Can you help me out, or at least explain the internal workings?

I tried using the OnAttach and OnDetached events, but even when I remove the VerticalLines, somehow they keep appearing on the chart, and are not listed in the new VerticalLines collection.

1 vote
16k views

How can I only show Legends when the corresponding RenederableSeries is visible.
If the corresponding RenderableSeries is not visible then that Legend shouldn’t be shown.
Keep in mind my users will be able to hide and show RenderableSeries during runtime.

My xaml code is:

                                            <s:LegendModifier x:Name="legendModifier" ShowVisibilityCheckboxes="False" Orientation="Vertical" ShowLegend="{Binding ParentViewModel.ShowLegends, Mode=TwoWay}" Margin="10" />
                                        <s:SeriesSelectionModifier>
                                            <s:SeriesSelectionModifier.SelectedSeriesStyle>
                                                <Style TargetType="s:BaseRenderableSeries">
                                                    <Setter Property="StrokeThickness" Value="3"/>
                                                </Style>
                                            </s:SeriesSelectionModifier.SelectedSeriesStyle>
                                        </s:SeriesSelectionModifier>
0 votes
6k views

I have created a demo app with the relevant code.

I have a tab control with 2 tabs, each one with a version of the SciChart surface showing multiple graphs stacked on top of each other.
The first (LAT) uses the standard WPF ListBox with each item contains a surface.
The second (ECG) uses a vertically stacked YAxis (from the customer examples).

Scenario
Select the second tab (ECG).
Press the Create button to create 50 waveforms.
(note – only a single graph is created)
Select the first tab, then select the 2nd tab.
(all 50 graphs are created)

HELP
I am unable to upload the .zip file (with the demo) or an images.
I select the file – but it does not upload

0 votes
14k views

I am considering applying server-side licensing for my javerScript application.

In the document below, there is a phrase “Our server-side licensing component is written in C++.”
(https://support.scichart.com/index.php?/Knowledgebase/Article/View/17256/42/)

However, there is only asp.net sample code on the provided github.
(https://github.com/ABTSoftware/SciChart.JS.Examples/tree/master/Sandbox/demo-dotnet-server-licensing)

I wonder if there is a sample code implemented in C++ for server-side licensing.

Can you provide c++ sample code?
Also, are there any examples to run on Ubuntu?

0 votes
8k views

I have created a SciChartSurface with the width of 200 px. I have created a data series with data that corresponds to four vertical lines at 0 %, 25 %, 50 % and 75 % of width. When I set the data series’ width to 115 points all four vertical lines are clearly visible. However when I set the width to 116 points or more, the first line (at x == 0) disappears. Data series is still smaller than the renderable series width in px, so there is no reason for any of the vertical lines to go missing. Is this a bug, or did I configure something wrong?

Here is the xml layout:

<com.scichart.charting.visuals.SciChartSurface
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/chart"
    android:layout_width="200px"
    android:layout_height="match_parent"/>

Here is the code for MainActivity:

import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import com.scichart.charting.model.dataSeries.UniformHeatmapDataSeries
import com.scichart.charting.visuals.SciChartSurface
import com.scichart.charting.visuals.renderableSeries.ColorMap
import com.scichart.drawing.utility.ColorUtil
import com.scichart.extensions.builders.SciChartBuilder
import kotlin.math.roundToInt

const val WIDTH = 116
const val HEIGHT = 50

class MainActivity : AppCompatActivity()
{
    override fun onCreate(savedInstanceState: Bundle?)
    {
        super.onCreate(savedInstanceState)

        SciChartSurface.setRuntimeLicenseKey(getString(R.string.sciChart_license))
        SciChartBuilder.init(this)

        setContentView(R.layout.activity_main)

        val chartSurface = findViewById<SciChartSurface>(R.id.chart)
        val chartBuilder = SciChartBuilder.instance()

        val xAxis = chartBuilder.newNumericAxis().build()
        val yAxis = chartBuilder.newNumericAxis().build()

        val dataSeries = UniformHeatmapDataSeries<Int, Int, Int>(Int::class.javaObjectType, Int::class.javaObjectType, Int::class.javaObjectType, WIDTH, HEIGHT)
        for (x in 0 until WIDTH)
        {
            for (y in 0 until HEIGHT)
            {
                val value = when (x)
                {
                    0,
                    (0.25 * WIDTH).roundToInt(),
                    (0.5 * WIDTH).roundToInt(),
                    (0.75 * WIDTH).roundToInt() -> 50
                    else                        -> 0
                }
                dataSeries.updateZAt(x, y, value)
            }
        }

        val series = chartBuilder.newUniformHeatmap()
            .withColorMap(ColorMap(intArrayOf(ColorUtil.DarkBlue, ColorUtil.CornflowerBlue, ColorUtil.DarkGreen, ColorUtil.Chartreuse, ColorUtil.Yellow, ColorUtil.Red), floatArrayOf(0f, 0.2f, 0.4f, 0.6f, 0.8f, 1f)))
            .withDataSeries(dataSeries)
            .build()

        chartSurface.suspendUpdates().use {
            chartSurface.xAxes.add(xAxis)
            chartSurface.yAxes.add(yAxis)
            chartSurface.renderableSeries.add(series)
        }
    }
}
0 votes
11k views

Hello

I have 2 charts, a 2D Heatmap and a 3D Waterfall chart, and I want to be able to programmatically change their color palettes.

The 2D heatmap is set up like this, with the GradientStops bound to an ObservableCollection:

...
<s:HeatmapColorPalette x:Key="HeatmapColorPalette" Maximum="{Binding MaxValue,Mode=TwoWay}"  GradientStops="{Binding ColorPalette}"/>
...
<s:SciChartSurface.RenderableSeries>
    <s:FastUniformHeatmapRenderableSeries 
        x:Name="heatmapSeries" 
        DataSeries="{Binding Data}"
        ColorMap="{StaticResource HeatmapColorPalette}">
    </s:FastUniformHeatmapRenderableSeries>
 </s:SciChartSurface.RenderableSeries>
...

This works as expected. When the binding changes the palette/heatmap changes.

The 3D waterfall is set up the similarly:

...
<s3D:GradientColorPalette x:Key="GradientColorPalette" IsStepped="False"  GradientStops="{Binding ColorPalette}" />
...
<s3D:SciChart3DSurface.RenderableSeries>
    <s3D:WaterfallRenderableSeries3D
        x:Name="waterfallSeries"
        DataSeries="{Binding Data3D}"
        YColorMapping="{StaticResource GradientColorPalette}"
        SliceThickness="1">
    </s3D:WaterfallRenderableSeries3D>
</s3D:SciChart3DSurface.RenderableSeries>
...

This, when passed the same data, doesn’t render the chart.
This chart otherwise works fine if I define the GradientStops statically in the XAML.

This is the GradientStops definition (in f#):

let BlueRed = 
        new ObservableCollection<GradientStop>([
            new GradientStop(Color.FromRgb(0x00uy,0x00uy,0xFFuy),0.0)
            new GradientStop(Color.FromRgb(0xFFuy,0x00uy,0x00uy),1.0)
        ])

I am not sure what I am missing.

(edit: apologies for formatting issues in the question)

2 votes
5k views

var lineData = new XyDataSeries<DateTime, double>();

if I have a XyDataSeries<DateTime, double> then I can get the sweeping animation to work. If I change the XyDataSeries to XyDataSeries<DateTime, int> it fails to produce the chart and gives an exception stating

SciChartSurface didn’t render, because an exception was thrown:
Message: Specified cast is not valid.

Stack Trace: at SciChart.Charting.Visuals.RenderableSeries.Animations.Transformations.Point2DSeriesTransformation1.SweepTransform(T pointSeries, Double currentProgress)
at SciChart.Charting.Visuals.RenderableSeries.Animations.Transformations.Point2DSeriesTransformation
1.O(IPointSeries D, Double I)
at SciChart.Charting.Visuals.RenderableSeries.Animations.SweepAnimation.Animate(IRenderPassData rpd, Double currentProgress)
at SciChart.Charting.Visuals.RenderableSeries.Animations.SeriesAnimationBase.OnRender(IRenderPassData rpd)
at SciChart.Charting.Visuals.RenderableSeries.BaseRenderableSeries.WFB(IRenderContext2D D, IRenderPassData I)
at A.IJ.T(ISciChartSurface D, RenderPassInfo I, IRenderContext2D J, Int32 M)
at A.IJ.M(ISciChartSurface D, RenderPassInfo I, IRenderContext2D J)
at A.IJ.RenderLoop(IRenderContext2D renderContext)
at SciChart.Charting.Visuals.SciChartSurface.DoDrawingLoop()

Is this possible or does yaxis have to be a double? If I use fade animation it works properly. Thanks.

  • John asked 4 years ago
  • last active 4 years ago
0 votes
12k views

Hey

why do i need to use SuspendUpdates when i can append an array of data?

Thanks!

0 votes
11k views

Dear support,

What is the best way to anchor a GroupBox to the top right corner of a SciChartSurface (as shown in the attached screenshot)? At the moment, I am using an absolute positioning that often fails at initialization or when the surface is resized. I am looking into the annotation API, but have not yet found a clean solution.

Thank you,
Lucas

1 vote
17k views

I wonder how I can disable the x-Axis from automatically re-scaling when panning a series beyond the available data range? The only time when axes scales change should be when I modify the axes scales via mouse on the respective axis itself. But when I pan a series I do not want any changes in axes scale to occur. How can I accomplish that? Thanks

  • bbmat asked 9 years ago
  • last active 9 years ago
1 vote
9k views

I am evaluating SciChart for an upcoming project. I like what I see for WPF and a standard console.
My problem is that SciChart for the web only shows projects for Silver Light.

Silver Light is dead. Win RT is gasping its last breath. Everthing seems to be moving towards HTML5 / JS.

I need to be able to use the charts in a web browser as well as a console.
Is there new versions of SciChart coming out that addresses this issue.

Regards
Bill Johnson

1 vote
14k views

I have a lot of data to process and I don’t want UI to get frozen. So I’d like to add data in a background thread.

Is it possible to append data to XyDataSeries in a separate thread? Is it supposed to handle this safely?

0 votes
3k views

Please tell me how to add the ability to use multiple touch. The goal is that when the user touches the screen in two places at the same time, two lines appear on the graph. I would like to understand whether this is possible?

1 vote
12k views

I have about 250 series. Each serie contains > 500000 points. I see that the memoryusage grows alot until the program crashes. Is there a way to use that many series with >1000000 points and keep the memory usage low? Im using a FifoChart. And i have a pc with enough RAM.

  • bochelie asked 10 years ago
  • last active 10 years ago
0 votes
6k views

I am considering applying server-side licensing for my javerScript application.

In the document below, there is a phrase “Our server-side licensing component is written in C++.”
(https://support-dev.scichart.com/index.php?/Knowledgebase/Article/View/17256/42/)

However, there is only asp.net sample code on the provided github.
(https://github.com/ABTSoftware/SciChart.JS.Examples/tree/master/Sandbox/demo-dotnet-server-licensing)

I wonder if there is a sample code implemented in C++ for server-side licensing.

Can you provide c++ sample code?
Also, are there any examples to run on Ubuntu?

-3 votes
0 answers
7k views

I want some text to appear over scichart chart so that when i copy Scichart to clipboard overlaid text should be present.But at present overlaid text is not shown

0 votes
7k views

My group is evaluating SciChart for high performance realtime charting. We are testing line renderer with XyDataSeries.
We were able to get good performance, but we need to squeeze more and our scenario is a bit different from how XyDataSeries is used.

To make a long story short, we cannot append, because our application has 2 strict requirements:

  • every data refresh we need to ditch the whole dataset and replace it
    with a new (usually larger) one (no append)
  • we need to display each refresh immediately, even if it means delaying user input (so Immediate. Or Manual with a refresh after
    every step).

which means put in XyDataSeries a new set of points at every step. This means either do:

var dataSeries = new XyDataSeries<double, float>(samples.Length)
dataSeries.Append(domain, samples);
m_renderableSeries.DataSeries = dataSeries;

or :

dataSeries.Clear();
dataSeries.Append(m_domain, samples);

(btw, the first one is slightly faster, 190ms vs 240ms to draw 10 million points)

Which is obviously working against how XyDataSeries is implemented.
A faster way would be to just do

var dataSeries = new ReadOnlyXyDataSeries(domain, samples);
m_renderableSeries.DataSeries = dataSeries;

Where ReadOnlyXyDataSeries just takes the samples array and without any copy makes it available to the renderer.
So I implemented ReadOnlyXyDataSeries as a IXyDataSeries<double, float>.

To my surprise however this performs much worse (900ms to draw 10
million points), while it should perform better (it is really just a
XyDataSeries without copy)

UPDATE: This is not true: I was setting IsSortedAscending = false on sorted data. Once I put it to true, preformances are back to exactly the same performance as XyDataSeries . Which is good but not stellar.

(hack time) I know there is room for performances, because I made the following (hacky, brutal, very bad) thing:

var internalList = (ISciList<float>)dataSeries.YValues;
Array.Copy(samples, internalList.ItemsArray, samples.Length);

instead of the Clear/Append pair, and it is much faster (30ms are shaved off). No copy should be even faster.

Obviously I am missing something. So, what am I missing? How should I implement a custom IXyDataSeries in a fast way? Is there another way?

1 vote
4k views

Hello,

I recently updated 2 different apps that both use SciChart with XCode14 and uploaded the archives to the App Store via Organizer. They both generated the warning/error:

“The app references non-public selectors in …/Frameworks/SciChart.framework/SciChart: moveToX:y:”

This did not occur with Xcode 13.

Any advice on how best to handle this?

Thank you.

  • C Bolton asked 2 years ago
  • last active 12 months ago
0 votes
3k views

i cant draw any chart.
just this ..
i used demo code

  • YEJI YOON asked 3 years ago
  • last active 3 years ago
1 vote
1k views

Dear Andrew,

As mentioned in the previous question. we are getting ready to implement a comprehensive annotation and labeling functionality to our application. Although I know how to add scalable custom-annotations (your team guided us with the implementation in the past), an important part of of annotation functionality is. ability to edit the annotations. But I am having trouble accessing and interacting the the annotations.

How can I access the svg polygon nodes from the custom annotation and drag and move them? I have attched a video to show the existing functionality.

https://youtu.be/AkysJ2R3TyE1

Best,
Pramod

1 vote
5k views

We are using stacked bar chart, and showing only 6 bars visible at a time.
In the X-Axis, the month labels are missing for alternate months & only displays all month label as a flash when graph is being scrolled. Is there any way to fix this.

0 votes
13k views

Hi,

I am hoping that someone can help me with the following issue…
I am implementing a Multiple Charts binding where the itemsControl is binding to the RolloverData.SeriesInfo (Like the example of the rollover feedback) so I display a little panel at the top of the diagram displaying the x and y values.
unfortunately, when the mouse moves over a chart it shows the values but then if I move to the next chart it shows the X and Y values in both charts and what I want to happen is that when the mouse moves to the another chart the previous chart don’t display the panel with the values.
I am attaching a picture of what happens thanks:)

<SciChart:SciChartSurface x:Name="sciChartSurface" 
                                  DataSet="{Binding ChartData}" 
                                  SciChart:ThemeManager.Theme="Chrome" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
            <SciChart:SciChartSurface.RenderableSeries>
                <SciChart:FastLineRenderableSeries SeriesColor="Red"/>
            </SciChart:SciChartSurface.RenderableSeries>

            <!--  Declare Axes  -->
            <SciChart:SciChartSurface.YAxis >
                <SciChart:NumericAxis AxisTitle="{Binding ChartName}" AxisAlignment="Left">
                    <SciChart:NumericAxis.GrowBy>
                        <SciChart:DoubleRange Min="0.1" Max="0.1"/>
                    </SciChart:NumericAxis.GrowBy>
                </SciChart:NumericAxis>
            </SciChart:SciChartSurface.YAxis>
            <SciChart:SciChartSurface.XAxis>
                <SciChart:DateTimeAxis AxisTitle="Time"
                                       DrawMajorGridLines="True"
                                       DrawMinorGridLines="True"  
                                       TextFormatting="HH:mm MMM dd" SubDayTextFormatting="HH:mm MMM dd">
                    <SciChart:DateTimeAxis.GrowBy>
                        <SciChart:DoubleRange Min="0.1" Max="0.1"/>
                    </SciChart:DateTimeAxis.GrowBy>
                </SciChart:DateTimeAxis>
            </SciChart:SciChartSurface.XAxis>

            <!--  Declare ChartModifiers  -->
            <SciChart:SciChartSurface.ChartModifier>
                <SciChart:ModifierGroup>
                    <SciChart:ModifierGroup SciChart:MouseManager.MouseEventGroup="myCustomGroup">
                        <SciChart:RubberBandXyZoomModifier IsEnabled="True"
                                                IsXAxisOnly="True" 
                                                ReceiveHandledEvents="True" />
                        <SciChart:ZoomPanModifier IsEnabled="False"/>
                        <SciChart:MouseWheelZoomModifier IsEnabled="False"/>
                        <SciChart:RolloverModifier x:Name="rolloverModifier" 
                                                   IsEnabled="True" 
                                                   ReceiveHandledEvents="True"/>
                        <SciChart:CursorModifier IsEnabled="False" ReceiveHandledEvents="True"/>
                        <SciChart:YAxisDragModifier/>
                        <SciChart:XAxisDragModifier/>
                        <SciChart:ZoomExtentsModifier/>
                </SciChart:ModifierGroup>
                </SciChart:ModifierGroup>
            </SciChart:SciChartSurface.ChartModifier>
        </SciChart:SciChartSurface>

        <Border Grid.Row="1"
                HorizontalAlignment="Left"
                VerticalAlignment="Top"
                Background="#77FFFFFF"
                BorderBrush="#55000000"
                BorderThickness="2">
            <ItemsControl DataContext="{Binding ElementName=rolloverModifier}" 
                          ItemsSource="{Binding RolloverData.SeriesInfo}">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition></RowDefinition>
                                <RowDefinition></RowDefinition>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition />
                                <ColumnDefinition />
                            </Grid.ColumnDefinitions>
                            <TextBlock Grid.Row="0" Grid.Column="0"
                                       FontSize="12"
                                       FontWeight="Bold"
                                       Foreground="Black"
                                       Text="Y Axis:"/>
                            <TextBlock Grid.Row="0" Grid.Column="1"
                                       FontSize="12"
                                       FontWeight="Normal"
                                       Foreground="Red"
                                       Text="{Binding  YValue, Converter={StaticResource toStringConverterConverter}}" />
                            <TextBlock Grid.Row="1" Grid.Column="0"
                                       FontSize="12"
                                       FontWeight="Bold"
                                       Foreground="Black"
                                       Text="DateTime:"/>
                            <TextBlock Grid.Row="1" Grid.Column="1"
                                       FontSize="12"
                                       FontWeight="Normal"
                                       Foreground="Red"
                                       Text="{Binding  XValue, Converter={StaticResource toStringConverterConverter}}" />
                        </Grid>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </Border>
  • vaquita50 asked 11 years ago
  • last active 8 years ago
0 votes
12k views

Hi,

I’ve got a collection on FastLineRenderableSeries which are set to Visible true/false based for some boolean properties. At the moment I’ve been using IsVisible property and apparently it’s not working very reliably. Most of the time it works without issue. But time to time chart comes to a stage which it does not respect IsVisible property and make all series are Visible. It’s quite difficult to identify reproducible steps and it occurs randomly.

<visuals:SciChartSurface.RenderableSeries>
                                <renderableSeries:FastLineRenderableSeries x:Name="vaSeries" DataSeries="{Binding Path= Series[0], Mode=OneWay}" 
                                                                IsVisible="{Binding ElementName=ChkVa, Path=IsChecked, Mode=OneWay}"
                                                                SeriesColor="{StaticResource VaColor}" Style="{StaticResource SeriesStyleWithPoints}" />
                                <renderableSeries:FastLineRenderableSeries DataSeries="{Binding Series[1], Mode=OneWay}" 
                                                                IsVisible="{Binding ElementName=ChkVb, Path=IsChecked, Mode=OneWay}"
                                                                SeriesColor="{StaticResource VbColor}" Style="{StaticResource SeriesStyleWithPoints}" />
                                <renderableSeries:FastLineRenderableSeries DataSeries="{Binding Series[2], Mode=OneWay}" 
                                                                IsVisible="{Binding ElementName=ChkVc, Path=IsChecked, Mode=OneWay}"
                                                                SeriesColor="{StaticResource VcColor}" Style="{StaticResource SeriesStyleWithPoints}" />
                                <renderableSeries:FastLineRenderableSeries DataSeries="{Binding Series[3], Mode=OneWay}"
                                                                IsVisible="{Binding ElementName=ChkVr, Path=IsChecked, Mode=OneWay}"
                                                                SeriesColor="{StaticResource VrColor}" Style="{StaticResource SeriesStyleWithPoints}" />
                                <renderableSeries:FastLineRenderableSeries DataSeries="{Binding Series[4], Mode=OneWay}"
                                                                IsVisible="{Binding ElementName=ChkVs, Path=IsChecked, Mode=OneWay}"
                                                                SeriesColor="{StaticResource VsColor}" Style="{StaticResource SeriesStyleWithPoints}" />
                                <renderableSeries:FastLineRenderableSeries DataSeries="{Binding Series[5], Mode=OneWay}"
                                                                IsVisible="{Binding ElementName=ChkVt, Path=IsChecked, Mode=OneWay}"
                                                                SeriesColor="{StaticResource VtColor}" Style="{StaticResource SeriesStyleWithPoints}" />
                            </visuals:SciChartSurface.RenderableSeries>
  1. Any idea how this could happen?
  2. Noticed that there two properties for the purpose of making its visibility ‘IsVisible’ and ‘Visibility’. What is the most reliable property to use for setting Visibility of FastLineRenderable series?

Thanks!
Charith

1 vote
5k views

Hi SciChart team,

there is a working example that implement a Polar Chart type for iOS?
I was unable to find anything in the documentation. Only for WPF platform.
If not, there is a plan to support this kind of chart in next release of the library?

Thanks for the help.

0 votes
4k views

Hi

Is it possible to achieve an effect like shown on the attached image – where the background color of the chart changes over time?

/Flemming Rosenbrandt

0 votes
0 answers
4k views

My application supports two themes (dark/light) for the charts. The background of the chart will be set to black if the dark mode is applied, and white if the light mode applied. It works well with the line chart. But there is strange grey background appeared in the heatmap chart when light mode is applied (Please check the attached screenshots). The color of gradient stop of offset 0 (min. heatmap zValues) is set to transparent and it works well with the dark mode. Do you know what’s wrong in my case?

Dark theme object applied to the chart:

{...new SciChartJSDarkTheme(), ...{
        sciChartBackground: "#1c1c1c",
        axisTitleColor: "#dee2e6",
        labelBorderBrush: "#dee2e6",
        tickTextBrush: "#dee2e6",
        majorGridLineBrush: "#1F3D68",
        minorGridLineBrush: "#102A47",
    }

Light theme object applied to the chart:

{...new SciChartJSLightTheme(), ...{
        sciChartBackground: "#fff",
        axisTitleColor: "#333",
        labelBorderBrush: "#333",
        tickTextBrush: "#333",
    }}

Heatmap graditentStops:

[
    { offset: 1, color: COLORS.DARK_RED },
    { offset: 0.8, color: COLORS.RED },
    { offset: 0.6, color: COLORS.YELLOW },
    { offset: 0.5, color: COLORS.GREEN },
    { offset: 0.4, color: COLORS.BLUE },
    { offset: 0.01, color: COLORS.DARK_BLUE },
    { offset: 0, color: "Transparent" },
]
0 votes
4k views

Is there any way to reduce the number of data points rendered on graph based on user’s screen resolution?

Thanks.

1 vote
2k views

I am currently working on a chart that shows data in minutes.
As shown in the attached photo, I would like to create a tick label for every minute and bold the labels for the 5 minute ticks. Is this possible?

0 votes
6k views

Hi,

I’m evaluating SciChart for use in a production app.

Is there any way to log exceptions generated by SciChart? Currently I’m logging all handled and unhandled exceptions in my app to my server so that issues can be flagged without users having to manually submit support tickets. SciChart is printing internal exceptions to console – is there any way to override that with our own error handling mechanism? If not, how should we monitor for production errors generated internally by SciChart?

Thanks

  • Mike Liu asked 6 years ago
  • last active 6 years ago
0 votes
9k views

Hi all,

Does Sci Charts have functionality for the creation of a 2D Heat/Intensity map with colors? If so how?

Also, as an aside, is there any 3D functionality (meshes/grids) in SciChart?

Thanks

  • tingk asked 11 years ago
  • last active 2 years ago
1 vote
9k views

Hello,
I’ve been looking for the documentation of how to customize the look of the chart. I have a black/dark gray checker pattern that seems to be the default. I would like to:
1. Change the background to white, no checkerboard pattern
here is the documentation for chart background but it does not show me how to change it to white. https://www.scichart.com/documentation/ios/v2.x/webframe.html#The%20SciChartSurface%20Type.html
I have found through experimentation the I can call

surface.backgroundColor

But that just changes the axis background color

2. Make the text larger on the axis.
here is the documentation for the axis https://www.scichart.com/documentation/ios/v2.x/webframe.html#Adding%20an%20Axis%20to%20a%20SciChartSurface.html
I see these lines that were provided but they won’t compile because Xcode doesn’t know what defaultFontSize is and there are no other references to it and I still don’t see a way to set the size.

textFormat.fontName = SCSFontsName.defaultFontName
textFormat.fontSize = SCSFontSizes.defaultFontSize

I think it would be helpful to create a walkthrough for iOS that shows how to customize the background and axis. I’ve looked through the samples provided but the files are huge and I get lost trying to figure it out.
Thanks,
Warren

1 vote
16k views

Hello,
I am currently evaluating the chart library, and plotting a FastLineRenderableSeries with an Ellipse PointMarker.
This displays exactly the graph I want. However, I would like that when the user hovers over a point, the point would highlight and he can see a tooltip showing what is the exact X value and the exact Y value.
Example of what I would like : http://www.highcharts.com/demo/line-basic
Would be even better if when hovering over the line the “nearest” actual point were highlighted with the tooltip.
I have tried a quick search and haven’t come up with the solution yet, note I am new to the library.
Thanks

0 votes
2k views

Hello,
When my program runs for a while, the lines disappear. I check the dataseries, it does not have NAN data, and the data is correct.
It can happen twice a week.

Best regards,
YXJ

  • YXJ YXJ asked 2 years ago
  • last active 2 years ago
0 votes
0 answers
3k views

Dear Devs,

I found a very strange case.

I have a measure file.
It has some values (that I want to show in chart).
Once I load the file’s values into the chart, it shows it correctly.
After I load it again, it shows just a part of the line.

No matter how many times i repeat it, it went totally random, sometimes OK, sometimes not.
I debug the values, they are always the same.

Could you help me how to solve it?

Bests,
Roland

0 votes
5k views

When showing a new view, there are some annotations (from an AnnotationCollection) on the panel, but the RenderableSeries is empty. Is it possible to use the scrollbar to zoom in details of annotations?

  • yi zheng asked 5 years ago
  • last active 5 years ago
0 votes
0 answers
4k views

We are using HorizontalLineAnnotation and VerticalLineAnnotations on a chart. We have subclassed these classes so that we could use our own AnnotationLabels that display text instead of the value of the line position.

something like this:

`
<s:HorizontalLineAnnotation.Resources>

</s:HorizontalLineAnnotation.Resources>

<s:HorizontalLineAnnotation.Stroke>
    <SolidColorBrush Color="{Binding Color}"/>
</s:HorizontalLineAnnotation.Stroke>

<s:HorizontalLineAnnotation.ToolTip>
    <ToolTip Content="{Binding Label}"  
             Visibility="{Binding Label, Converter={StaticResource EmptyStringToVisibilityCollapsedConverter}}"/>
</s:HorizontalLineAnnotation.ToolTip>

<s:AnnotationLabel x:Name="_annotationLabel" LabelPlacement="Axis" BorderThickness="0" Text="{Binding DataContext.Label}" 
Background="Transparent">
    <s:AnnotationLabel.Foreground>
        <SolidColorBrush Color="{Binding DataContext.Color}"/>
    </s:AnnotationLabel.Foreground>
</s:AnnotationLabel>

`

Now we want to use our own custom control similar to a TextBlock as the axis label. Is it possible to template the AnnotationLabel or maybe another way to accomplish this? The custom control we have is used to highlight part of the text in the textblock (using Runs) for search highlighting so even if we have to do it a different way, that would acceptable.

What I would like to do:
.
.
.

<s:AnnotationLabel x:Name="_annotationLabel" LabelPlacement="Axis" BorderThickness="0" Text="{Binding DataContext.Label}" Background="Transparent">
    <s:AnnotationLabel.Foreground>
        <SolidColorBrush Color="{Binding DataContext.Color}"/>
    </s:AnnotationLabel.Foreground>
    <s:AnnotationLabel.Style>
        <Style TargetType="s:AnnotationLabel">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="s:AnnotationLabel">
                        <controls:HighlightingTextBlock Text="{TemplateBinding Text}" HighlightedText="{Binding 
                                                                                                                    DataContext.HighlightedLabelText}"/>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </s:AnnotationLabel.Style>
</s:AnnotationLabel>
0 votes
4k views

Hi,
How can I programmatically prevent panning, zooming, yaw, pitch movements on the screen whenever I want?

Best regards…

0 votes
6k views
      <s:SciChartSurface.Annotations>
            <s:BoxAnnotation X1="25" X2="75" Y1="0" Y2="100" Background="#33FFFFFF" 
                BorderBrush="#55FFFFFF" BorderThickness="3" Padding="5">

                <s:BoxAnnotation.Template>

                    <ControlTemplate TargetType="s:BoxAnnotation">


                        <Border x:Name="PART_BoxAnnotationRoot" 
           Margin="{TemplateBinding Margin}"
           Background="{TemplateBinding Background}"
           BorderBrush="{TemplateBinding BorderBrush}"
           BorderThickness="{TemplateBinding BorderThickness}"
           CornerRadius="{TemplateBinding CornerRadius}">
                            <Viewbox Margin="{TemplateBinding Padding}" >
                                <TextBlock Text="Hello CustomAnnotation World!"></TextBlock>

                            </Viewbox>
                        </Border>

                    </ControlTemplate>
                </s:BoxAnnotation.Template>
            </s:BoxAnnotation>
        </s:SciChartSurface.Annotations>

by below tag or a code?

  • bar asked 5 years ago
  • last active 5 years ago
1 vote
2k views

Hi,

I just registered here.
I want to use your tool to create one graph. But licence is too expensive for me. May I create graph during trial mode and use it?
What if trial licence expired? Already created graph will still working or not?

Thanks

0 votes
7k views

Is there a way to provide custom text for the labels in a PieChartSegment? I want to format the text, but haven’t been able to find a label formatter for the pie charts.

0 votes
5k views

Do you have limitation on maximum of data points? my x = 151, z = 200. The chart would not populate.

0 votes
4k views

Hi,

I am using .NET 4.0 and SciChart v4.2.6.11205.

I have a viewmodel with the following property:
public AnnotationCollection Annotations { get; set; }

I have tried binding to the Annotations property from my view with the following code but without success:
Annotations=”{Binding Annotations}”
Annotations=”{Binding Path=Annotations}”

How to I bind to an AnnotationsCollection with SciChart 4.0?

Do you have an example you can send me.

Regards,
[email protected]

1 vote
2k views

Hi Scichart Team,

I want to add two border lines on the top and left of the chart on the existing theme —“BrightSpark”, I searched and tried some IThemeProvider memebers but have no luck to solve it.

Please find the detail in attached pic, just like bottom and right sides, add two border lines on the other two sides.

  • Keyu Yan asked 12 months ago
  • last active 11 months ago
Showing 1 - 50 of 4k results

Try SciChart Today

Start a trial and discover why we are the choice
of demanding developers worldwide

Start TrialCase Studies