SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, iOS Chart, Android Chart and JavaScript Chart Components

0 votes
220 views

I am getting a console error when using isVisible: false to the FastLineRenderableSeries or FastMountainRenderableSeries and CursorModifier together.

  const { wasmContext, sciChartSurface } = await SciChartSurface.create(
    "chart" + this.element
  );
  sciChartSurface.xAxes.add(
    new NumericAxis(wasmContext, { axisAlignment: EAxisAlignment.Top })
  );
  sciChartSurface.yAxes.add(
    new NumericAxis(wasmContext, {
      axisAlignment: EAxisAlignment.Left,
      growBy: new NumberRange(0.4, 0.4)
    })
  );

  const dataSeries = new XyDataSeries(wasmContext);
  const POINTS = 1000;
  const STEP = (3 * Math.PI) / POINTS;
  for (let i = 0; i <= 1000; i++) {
    const k = 1 - i / 2000;
    dataSeries.append(i, Math.sin(i * STEP) * k * 0.7);
  }

  const rendSeries = new FastLineRenderableSeries(wasmContext, {
    dataSeries: dataSeries,
    strokeThickness: 1,
    stroke: "red",
    isVisible: false
  });
  sciChartSurface.renderableSeries.add(rendSeries);
  // sciChartSurface.background = this.color;

  sciChartSurface.chartModifiers.add(
    new ZoomExtentsModifier(),
    new ZoomPanModifier(),
    new MouseWheelZoomModifier()
  );

  // Add CursorModifier behavior
  const cursorModifier = new CursorModifier({
    crosshairStroke: "#ff6600",
    crosshairStrokeThickness: 1,
    tooltipContainerBackground: "#000",
    tooltipTextStroke: "#ff6600",
    showTooltip: true,
    axisLabelsFill: "#b36200",
    axisLabelsStroke: "#fff"
  });
  sciChartSurface.chartModifiers.add(cursorModifier);

  sciChartSurface.zoomExtents();
  return { wasmContext, sciChartSurface };
0 votes
258 views

Hi,

we updated to version 6.3 and since then the VisualXcceleratorEngine is no longer used. The fallback type ‘HighQualityRenderSurface’ is always used. What about the auto-select feature for the best GPU?

This is the code we use to check whether DirectX is used:

using (var sciChartSurface = new SciChartSurface())
{
    sciChartSurface.OnRenderException += OnSciChartRenderException;

    VisualXcceleratorEngine.SetIsEnabled(sciChartSurface, true);
    VisualXcceleratorEngine.SetFallbackType(sciChartSurface, typeof(HighQualityRenderSurface));
    VisualXcceleratorEngine.SetDowngradeWithoutException(sciChartSurface, false);
    VisualXcceleratorEngine.SetEnableImpossibleMode(sciChartSurface, true);

    if (sciChartSurface.RenderSurface.GetType() == typeof(VisualXcceleratorRenderSurface))
    {
        // DirectX is enabled!
        retval = true;
    }
    else
    {
        // Restart 2D engine with D3D9   
        VisualXcceleratorRenderSurface.RestartEngineWith(DirectXMode.DirectX9c);

        // For 3D Charts only: Restart 3D engine with D3D9
        //Viewport3D.Restart3DEngineWith(DirectXMode.DirectX9c, FullScreenAntiAliasingMode.None, true);

        VisualXcceleratorEngine.SetIsEnabled(sciChartSurface, true);
        VisualXcceleratorEngine.SetFallbackType(sciChartSurface, typeof(HighQualityRenderSurface));
        VisualXcceleratorEngine.SetDowngradeWithoutException(sciChartSurface, false);
        VisualXcceleratorEngine.SetEnableImpossibleMode(sciChartSurface, true);

        if (sciChartSurface.RenderSurface.GetType() == typeof(VisualXcceleratorRenderSurface))
        {
            // DirectX is enabled!
            retval = true;
        }
    }

    sciChartSurface.OnRenderException -= OnSciChartRenderException;
}

What can I do?

Regards

  • Tobias asked 2 months ago
  • last active 2 months ago
1 vote
195 views

Hi,

I have a uniform heatmap with multiple ’tiles’ of data loaded in, by using multiple UniformHeatmapDataSeries / UniformHeatmapRenderableSeries.

The user is allowed to pan around/zoom around the heatmap.

I want to build two charts to display the ‘visible heatmap average’, one for each axis. For example, I would display a line chart underneath the heatmap. The first point on this line chart would represent the average value of all cells in the first column of the heatmap – I need this to take into account all of the UniformHeatmapDataSeries that are currently in the viewport, treating them as a singular heatmap.

I’ve seen the NumericAxis.getCurrentCoordinateCalculator(), which looks promising, but I’ve not yet worked out if that can do what I need.

Any thoughts on the best approach?

Thanks
Joe

  • Joe Brady asked 2 months ago
  • last active 2 months ago
1 vote
217 views

Hi,

In the documentation I can’t see any way to make a chart surface fill the available space in all directions.

By default, it fills the available horizontal space, but the ratio of width:height remains fixed.

The only example I’ve seen where this is slightly different is this JS example, where the width flexes independently to fit the available space: https://demo.scichart.com/javascript-2d-3d-chart-tenor-curves-example – I’m not sure exactly what part of the code makes this different to the other examples?

My goal is to allow the user to adjust the height and width of any chart themselves by dragging the size of the container div, with the chart surface ideally just filling the space in a ‘dumb’ way, rather than using JS to manually update the chart size during the drag event.

Thanks,
Joe

  • Joe Brady asked 2 months ago
  • last active 2 months ago
0 votes
228 views

Hi,

I want to draw the shape of the waveform that stretches out from one point.
I tested it using ‘CreateEllipsoidMesh3DChartFragment’ from example source, but I found problem.

I initialized the displacement value to 0, and entered the displacement value of the point I wanted.
In the image I uploaded, the coordinates are symmetrical, but the shape is different.

Is there a rule that connects coordinates when you draw a triangle?
Is there any way I can control this?

I have attached the image and code.

best regards, Thank you

  • Mobile SW4 asked 2 months ago
  • last active 2 months ago
0 votes
0 answers
199 views

Hi,

Using a tooltip with a LineSeries with an Logarithmic Y-axis, seem to give widely inaccurate results.

The series is as follows:

double[] x = new double[] { 1, 1.0e1 , 1.0e2 };
double[] y = new double[] { 615.9, 275.6197, 11.05376};

Using a CursorModifier as follows:

<s:CursorModifier ShowAxisLabels="True" UseInterpolation="True" SnappingMode="CrosshairToSeries" ShowTooltip="True"/>

The expected behaviour would be for the Crosshair to follow the curve, but for some reason it’s some way off. It looks as if it’s following Y-values which are somewhat truncated. X-values are fine for some reason.

Is there are a way to increase the resolution of the Y-values so the user gets the correct value when using a tooltip.

0 votes
255 views

I am getting a console error when using isVisible: false to the FastLineRenderableSeries or FastMountainRenderableSeries and CursorModifier together.

0 votes
0 answers
213 views

We’re using ReactiveUI and bindings in code-behind. We’re now upgrading from SciChart v3 to v6 and we’re wondering how to use the SeriesBinding in code-behind like this:

public partial class BarChartView : ReactiveUserControl<sBarChartViewModel>
{
    public BarChartView()
    {
        InitializeComponent();

        this.WhenActivated(disposable =>
        {
            this.OneWayBind(ViewModel,
                            vm => vm.SeriesSource,
                            view => view.BarChart.SeriesSource)
                .DisposeWith(disposable);

            this.OneWayBind(ViewModel,
                            vm => vm.LabelProvider,
                            view => view.FaciesAxis.LabelProvider)
                .DisposeWith(disposable);

            this.OneWayBind(ViewModel,
                            vm => vm.TooltipDataContext,
                            view => view.TooltipModifier.TooltipLabelDataContextSelector)
                .DisposeWith(disposable);

            this.OneWayBind(ViewModel,
                            vm => vm.XAxisRange,
                            view => view.FaciesAxis.VisibleRange)
                .DisposeWith(disposable);
        });
    }
}

Now the IChartSeriesViewModel and SciChartSurface.SeriesSource is deprecated so we have to move to IRenderableSeriesViewModel instead and then bind to SciChartSurface.RenderableSeries. But how can we convert from IRenderableSeriesViewModel to IRenderableSeries here?

0 votes
237 views

Multiple instances of sci chart any appearance changes reflecting on other instances. When I changed the background of one instance the same is reflected in the other instance. I have updated with createSingle to resolve this issue, But i am getting one alert when using createSingle.

0 votes
203 views

Hey guys,

As you already know, I’ve implemented a wrapper of scichart.

In a clear Nuxt project, I can get the scichart.data / scichart.wasm files very well. Have no problems with that at all.

But on my current project, we can’t implement this because some dependency is missing from scichart. And without your code, I really don’t know how to get into it.

The image is on attachments. Can you help us?

Many thanks,

Pedro Cruz

  • Pedro Cruz asked 2 months ago
  • last active 2 months ago
0 votes
0 answers
203 views

Dear sir,

I’m trying SciChartSurface.
I wanna have a Chart updating per minute,
X-Axis means time, Y-Axis means products,
and every product has a multi-color bar which I can build it in the viewmodel.
Every product’s name should be the position between two lines.
Can SciChart do that…? Cause I’m using surface with numericAxis, but the product name is always next to the line, not between two lines.

0 votes
264 views

ZoomPanModifier date format charts zoom out continuously then showing NaN on the scale. It happened because the zoom level goes under the invalid date. Can you add the Minimum Zoom/Pan and Maximum Zoom/Pan area to be configured on options?

0 votes
0 answers
203 views

I would like to know if there is an option to create chart with an arc lines grid in addition to the regular grid.
I’ve attached the sample. the question is referred to the white arc lines.
the blue lines need to be paint too.
all of this lines need to be as background, the same size as display in the picture.

0 votes
256 views

Hi,
Im tried to convert date into xAxis using this tutorial

https://www.scichart.com/documentation/android/current/webframe.html#Axis%20APIs%20-%20Convert%20Pixel%20to%20Data%20Coordinates.html

but i got this error

Java.lang.RuntimeException: Unable to start activity ComponentInfo{}: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object com.scichart.data.numerics.math.IMath.fromDouble(double)' on a null object reference
0 votes
260 views

when loading first data everything goes fine
growby max padding as expected (Image1)

but i added realtime data and data grow, it show strange behaviour, padding more than i expected. (image2)

final IAxis xAxis = sciChartBuilder.newCategoryDateAxis().withVisibleRange(xVisibleRange).withGrowBy(0.1,0.1).build();

ZoomPanModifier zoomPanModifier = new ZoomPanModifier();
zoomPanModifier.setClipModeX(ClipMode.ClipAtExtents);
zoomPanModifier.setClipModeTargetX(ClipModeTarget.MaximumRange);

any workaround? thanks

0 votes
278 views

Screenshots attached.

To recreate:

  • Create a chart
  • Add a CursorModifier – default options is fine
  • Either directly remove the modifier using .remove(modifier), or clear all using .clear()

Expected behaviour:
– Should remove the cursor modifier

Actual behaviour with bug:
– Crashes the page

This appears to be an issue with CursorModifier only (out of the 5 or 6 that I’ve tried). Other modifiers work as expected.

Traced the issue to this.parentSurface being undefined in CursorModifier.js, so when onDetach() is called, it errors.

Thanks!
Joe

  • Joe Brady asked 2 months ago
  • last active 1 month ago
0 votes
303 views

Getting an exception when trying to add tooltip template MVVM style to a blox plot. The chart also contains a scatter plot which should not be styled. That works fine, hoverwer, when I move the mouse over a box in the box plot, the exception is thrown.

I want to keep the styling, I just want to write something different than the default text.

The template:

  <DataTemplate DataType="scalarPlot:ToolTipData" x:Key="BoxSeriesTooltipTemplate">
    <TextBlock>
      <Run Text="Max:      " />
      <Run Text="{Binding Maximum}" />
      <LineBreak />
      <Run Text="P90:       " />
      <Run Text="{Binding P90}" />
      <LineBreak />
      <Run Text="Median: " />
      <Run Text="{Binding Median}" />
      <LineBreak />
      <Run Text="P10:       " />
      <Run Text="{Binding P10}" />
      <LineBreak />
      <Run Text="Min:       " />
      <Run Text="{Binding Minimum}" />
      <LineBreak />
    </TextBlock>
  </DataTemplate>

The binding:

      <Style TargetType="s:BaseRenderableSeries" x:Key="BoxSeriesStyle">
        <Setter Property="s:TooltipModifier.TooltipTemplate" Value="{StaticResource BoxSeriesTooltipTemplate}"/>
        <Setter Property="s:TooltipModifier.IncludeSeries" Value="True"/>
      </Style>

The modifier:

<s:SciChartSurface.ChartModifier>
      <s:ModifierGroup>
        <s:TooltipModifier IsEnabled="True" ShowTooltipOn="Always" ReceiveHandledEvents="True" TooltipLabelDataContextSelector="{Binding ToolTipDataContext}"/>
      </s:ModifierGroup>
    </s:SciChartSurface.ChartModifier>

The view model:

    private static IRenderableSeriesViewModel CreateBoxPlotViewModel(BoxPlotDataSeries<int, float> boxPlotDataSeries)
    {
        return new BoxPlotRenderableSeriesViewModel
        {
            DataSeries = boxPlotDataSeries,
            Stroke = Colors.SteelBlue,
            Fill = new LinearGradientBrush(Colors.White, Colors.LightSteelBlue, new System.Windows.Point(0, 0), new System.Windows.Point(0.5, 1)),
            StyleKey = "BoxSeriesStyle"
        };
    }

The data context selector:

    public Func<SeriesInfo, object> ToolTipDataContext
    {
        get
        {
            return seriesInfo =>
                   {
                       return seriesInfo switch
                       {
                           BoxPlotSeriesInfo boxInfo =>
                               new ToolTipData
                               {
                                   Fill = seriesInfo.Fill,
                                   Stroke = seriesInfo.Stroke,
                                   Maximum = (float) boxInfo.MaximumValue,
                                   P90 = (float) boxInfo.UpperQuartileValue,
                                   Median = (float) boxInfo.MedianValue,
                                   P10 = (float) boxInfo.LowerQuartileValue,
                                   Minimum = (float) boxInfo.MinimumValue
                               },
                           _ => seriesInfo
                       };
                   };
        }
    }
  • Tore Munch asked 2 months ago
  • last active 2 months ago
0 votes
0 answers
193 views

Hi, Yura

Thank you for answer.
But, the dataSeries you told me is not suitable for me.
(The example uses the following data series. EllipsoidDataSeries3D, CustomSurfaceDataSeries3D, CylindroidDataSeries3D, PolarDataSeries3D, UniformGridDataSeries3D)

I want to make it through a data series where I can put coordinates myself, like ‘XyzDataSeries3D’. If you set ‘XyzDataSeries3D’ from ‘FreeSurfaceRenderableSeries3D’, Exception will occur.

For example, what should I do if I want to implement the following shapes as solid?
(0,0,0), (0,0,1), (2,0,0), (2,0,1), (0,3,0), (0,3,1), (2,3,0), (2,3,1).

If the above is not possible, is there a way to draw in 3D chart a triangle as solid connected by the following coordinates?
(x1, y1, z1), (x2, y2, z2), (x3, y3, z3) .
If possible, I think can make a polyhedron by connecting it.

best regards, thank you.

0 votes
298 views

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

Best regards…

0 votes
0 answers
222 views

Hello!

I have data to display XyDataSeries, they have parameters: SeriesName and Tag. I want to bind the text of the tooltip to the Tag parameter, but for some reason an error pops up. Everything works correctly with the SeriesName.
I understand this is due to the data type, Tag-object, SeriesName-string. But how do I properly convert to the desired type, or is this not the problem?

When installing the vertical slice with the Tag parameter instead of SeriesName, errors occur:
The Tag property was not found for an object of the XySeriesInfo type.
Can’t find the control FrameworkElement or FrameworkContentElement for the target element.

0 votes
214 views

Hello!

I want to draw an irregular polyhedron in 3D chart. And I know the coordinates for each vertex.
However, I couldn’t find the appropriate API.
please, need a API or a guide to help me…

best regards, Thank you

  • Mobile SW4 asked 2 months ago
  • last active 2 months ago
0 votes
265 views

Hello,

we plan to generate reports containing SciChart charts, so we can re-use the chart components we show in our web-application. We did the same successfully in the past with SciChart for WPF.

So far I didn’t find any special support to generate high quality print output (and printing for js charts in general). Using the web-browsers print function the charts are rendered as bitmaps at screen resolution. In SciChart for WPF you provide a Vector Rendering Plugin which we used for printing (as described here https://support.scichart.com/index.php?/Knowledgebase/Article/View/17263/40).

Is there already support for high quality rendering in SciChart.js or do you have plans for it and maybe a timeline when to expect it?

I found one issue when printing from the example charts (https://demo.scichart.com/javascript-line-chart). After opening with a new browser window, on the first print the page content in the print dialog is most times empty but after reloading (F5) it is apparently always shown. I don’t know yet if this would be an issue when rendering to a PDF which we plan, but I think this should always work at the first time a page is loaded. Tested with current Chrome (88.0.4324.104) and Edge (88.0.705.56).

I wanted to attach a .png screenshot (435 KiB) but it didn’t work (a progress bar runs to 100% but then the file list is still empty tried file selection and drag&drop ). I think the issue should be understandable without a screenshot?

Update
I could add the image using the edit function.

Greetings,

Nils

0 votes
279 views

Hi,

We would like to add a vertical line on the month end, and display CategoryDateTime axis label as DD (instead of HH:MM) on the month end date.

We would like to avoid using vertical line annotations (read somewhere in the forum that they are WPF elements, and can potentially make chart slower).

I have tried going through the LabelProvider classes, but don’t see a concrete example on how it should work when we apply zoom in zoom out – We would like to keep existing axis labeling behavior intact.

Regards,
Vinay

0 votes
254 views

Hi,

is it possible to have same colors on my volume chart based on OHLC chart (red Green)? One option I see is to create a dependency property, and bind to OHLC Series data source to my VolumePalletteProvider? Is there any pre-existing way, without requiring me to bind to OHLC Series source?

public class VolumePallettProvider : IStrokePaletteProvider, IFillPaletteProvider
{
    Color _sbC = Colors.LightPink;
    SolidColorBrush _sb = Brushes.Transparent;

    public void OnBeginSeriesDraw(IRenderableSeries series)
    {
        _sbC = (Color)ColorConverter.ConvertFromString("#FF713232");
        _sb = (SolidColorBrush)new BrushConverter().ConvertFromString("#FFB75252");
    }

    public Brush OverrideFillBrush(IRenderableSeries rSeries, int index, IPointMetadata metadata)
    {
        var series = rSeries.DataSeries as XyDataSeries<DateTime, double>;
        var value = null != series ? series.YValues[index] : 0;
        value = !Double.IsNaN(value) ? value : 0;
        if (value < 0)
            return _sb;
        return null;
    }

    public Color? OverrideStrokeColor(IRenderableSeries rSeries, int index, IPointMetadata metadata)
    {
        var series = rSeries.DataSeries as XyDataSeries<DateTime, double>;
        var value = null != series ? series.YValues[index] : 0;
        value = !Double.IsNaN(value) ? value : 0;
        if (value < 0)
            return _sbC;
        return null;
    }
}
0 votes
324 views

Do you have any examples with configurating sci chart component in asp.mvc project. Ideally I’d not want to use any of the node.js pipeline and I just want to add set of javascript files to my project.

0 votes
305 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
337 views

On Vertical chart Label overlapping on smaller height. I have tried maxAutoTicks also and on the lower height, it’s getting one error. This error is occurring when the width is 0 sometimes. Can you please check this issues?

0 votes
257 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?

0 votes
262 views

Hello guys,

Can you provide an example how to implement scichart on SSR Frameworks like Nuxt or Next.js ? I am trying to understand how i can compile a simple chart using Nuxt, getting the .data/.wasm file but i have problem after building process.

Can you help?

Many thanks

Pedro Cruz

  • Pedro Cruz asked 3 months ago
  • last active 2 months ago
0 votes
226 views

On the vertical chart custom tooltipSvgTemplate seriesInfo isHit returns false always. Its working fine on the normal chart. Can you please check this issue is on verticle chart.

0 votes
230 views

I am in process of trying to upgrade scichart on a wpf project from 5.4 to 6.2. Before I created a class like below to override what the column width would be. Now it state that FastColumnRenderableSeries does not have a method called GetColumnWidth to override. How can I do same thing with newer version? Thanks.

public class ConstantColumnRenderableSeries : FastColumnRenderableSeries
{
    public static readonly DependencyProperty ColumnWidthProperty =
        DependencyProperty
            .Register("ColumnWidth",
                typeof(IComparable),
                typeof(ConstantColumnRenderableSeries),
                new PropertyMetadata(default(IComparable), OnInvalidateParentSurface));

    public IComparable ColumnWidth
    {
        get => (IComparable) GetValue(ColumnWidthProperty);
        set => SetValue(ColumnWidthProperty, value);
    }

    protected override double GetColumnWidth(IPointSeries points, IRenderPassData renderPassData)
    {
        return ConvertToDouble(ColumnWidth);
    }

    private static double ConvertToDouble(IComparable comparable)
    {
        switch (comparable)
        {
            case null:
                return 0;
            case DateTime time:
                return time.Ticks;
            case TimeSpan span:
                return span.Ticks;
            default:
                return Convert.ToDouble(comparable, CultureInfo.InvariantCulture);
        }
    }
}
  • John asked 3 months ago
  • last active 3 months ago
0 votes
233 views

Dear SciChart people,

when trying to export a SciChartSurface instance present in a view (i.e. modified by zoom and series visibility settings etc. done by the user in the UI), it seems that its member functions
ExportToFile
may only be called from the UI thread – invocations from a background thread yield an InvalidOperation exception

So for the period of exporting, the application stays unresponsive even when “useXamlRenderSurface=false” is set in the call.

This does not change when trying to clone the surface, using a derived SciChartSurface class (still in in the view) that allows for cloning (cf . the SciChartEx class in the “CreateAnnotationsDynamically” SciChart example): calling CreateCloneSurfaceInMemory is still only allowed on the UI thread.
If one accepts this, but tries to continue with a background thread on the cloned surface’ s ExportToFile instance, it still mandates using the UI thread, so no escape …

Any ideas to go away from the UI thread in this scenario?

Thanks a lot.

0 votes
318 views

Hi,

I’ve been following your instructions on linking multiple charts here: https://www.scichart.com/documentation/js/current/webframe.html#Tutorial%2009%20-%20Linking%20Multiple%20Charts.html

I have found that one chart in isolation runs at the full 60fps smoothness, but with each chart that is synchronised, it gets progressively slower until 5+ synced charts, at which point it becomes almost unusable. This is definitely an issue for our use-case, which will require a large number of synchronised charts.

This is currently using uniform heatmap charts only, I haven’t tried it with any others.

The issue occurs with and without data, i.e. a completely empty heatmap.

I also found that if I follow the instructions to the letter (i.e. a full two-directional link, with one chart pushing position changes to the other, and vice-versa), I get “Maximum depth exceeded” errors due to the infinite loop.

Am I doing something wrong? Are you able to recreate this issue?

Thanks
Joe

  • Joe Brady asked 3 months ago
  • last active 2 months ago
0 votes
0 answers
203 views
.

Problem was a mistake on my side, please remove this question.

  • T0 bi asked 3 months ago
  • last active 3 months ago
0 votes
283 views

Remove the white spaces on the chart when we using drawLabels: false. I am using multiple x-axes and no of x-axis increase the empty white space on the x-axis is also increasing.

0 votes
259 views

Is there an efficient way to append a subset of an array to a DataSeries? Manually looping with Append is slow (as expected). Iterating over an IEnumerable introduces overhead. I’ve read in the performance tips and tricks section that “Arrays have the biggest impact as these can be indexed using unsafe code”. The help documentation doesn’t list an Append overload specifically for an array so I assume the type is checked within the method.

I am reusing arrays whenever possible; however, my arriving data is not always the same length. In order to reduce allocations and garbage collection, I make use of Memory, Span, and ArraySegment elsewhere in my project. This allows me to pool and reuse memory. I have not found any DataSeries.Append overloads that would accept any of these types or otherwise allow me to specify the usable range of the array. Please let me know if I’ve overlooked something.

Thank you.

0 votes
261 views

Hello to everyone.

Is it possible to draw the 2d heatmap chart output that appears in pixel shape smoothly? Is there any way to solve this with the current library?

0 votes
305 views

Hi.

In my application every series (FastLineRenderableSeries) has it’s own y axis (e.g. surface with 3 serieses will have 3 Y axes). When series is created I’m creating NumericAxis and adding it to YAxes collection. So my chart surface declared as follows (simplified view):
<s:SciChartSurface>
<s:SciChartSurface.XAxis>
<s:DateTimeAxis />
</s:SciChartSurface.XAxis>
<s:SciChartSurface>

Problem 1: when I do not declare YAxis in xaml I have problem with VerticalSliceModifier: when slice is added by user on surface the crosspoint with series is positioned correctly, but slice vertical line itself is drawn on the left side of surface and positioned correctly on some redraw (e.g. panning).
enter image description here

I found out that VerticalSliceModifier does not work properly if Axis is not declared, so I declared it:
<s:SciChartSurface.YAxis>
<s:NumericAxis Visibility="Collapsed"/>
</s:SciChartSurface.YAxis>

Now VerticalSliceModifier works fine, but now we come to problem 2.
Problem 2: when YAxis declared with Visibility=”Collapsed” the chart surface squares gets wrong color (look at blinks on panning).
enter image description here

So I’ve got stuck in search of magic combination when everything works as expected :-).

0 votes
0 answers
229 views

Hello there. I am very novice compared to you. As soon as I press a button in the main activty, what should I do to see the data set that I have determined before on the screen?

Thank you from now.

MainActivity code part:

        btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mdata = new double[][]{
                    {3, 2, -1.97, -2.81, -0.33, 1.53, 2.04, 2-.08, -1.94, -1.42, -1.58},
                    {-1.77, -1.76, 1.1, 0.26, -0.72, -0.64, -3.26, -3.2, -3.1, -1.94, -1.54},
                    {0, 0, 0, 0, 0, -3.7, -3.7, -3.7, -3.7, 0.48, 0.48},
                    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
            };

            final Camera3D camera = sciChart3DBuilder.newCamera3D().withPosition(-1300, 1300, -1300).build();

            final NumericAxis3D xAxis = sciChart3DBuilder.newNumericAxis3D().withMaxAutoTicks(7).build();
            final NumericAxis3D yAxis = sciChart3DBuilder.newNumericAxis3D().withVisibleRange(-4d, 4d).build();
            final NumericAxis3D zAxis = sciChart3DBuilder.newNumericAxis3D().build();
            final int xSize = 11;
            final int zSize = 4;

            final UniformGridDataSeries3D<Double, Double, Double> ds = new UniformGridDataSeries3D<>(Double.class, Double.class, Double.class, xSize, zSize);
            ds.setStartX(0d);
            ds.setStepX(0.09);
            ds.setStartZ(0d);
            ds.setStepZ(0.75);

            for (int z = 0; z < zSize; z++) {
                for (int x = 0; x < xSize; x++) {
                    ds.updateYAt(x, z, mdata[z][x]);
                }
            }
        }
    });
0 votes
285 views

Hello there. I am very novice compared to you. As soon as I press a button in the main activty, what should I do to see the data set that I have determined before on the screen?

Thank you from now.

MainActivity code part:

        btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mdata = new double[][]{
                    {3, 2, -1.97, -2.81, -0.33, 1.53, 2.04, 2-.08, -1.94, -1.42, -1.58},
                    {-1.77, -1.76, 1.1, 0.26, -0.72, -0.64, -3.26, -3.2, -3.1, -1.94, -1.54},
                    {0, 0, 0, 0, 0, -3.7, -3.7, -3.7, -3.7, 0.48, 0.48},
                    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
            };

            final Camera3D camera = sciChart3DBuilder.newCamera3D().withPosition(-1300, 1300, -1300).build();

            final NumericAxis3D xAxis = sciChart3DBuilder.newNumericAxis3D().withMaxAutoTicks(7).build();
            final NumericAxis3D yAxis = sciChart3DBuilder.newNumericAxis3D().withVisibleRange(-4d, 4d).build();
            final NumericAxis3D zAxis = sciChart3DBuilder.newNumericAxis3D().build();
            final int xSize = 11;
            final int zSize = 4;

            final UniformGridDataSeries3D<Double, Double, Double> ds = new UniformGridDataSeries3D<>(Double.class, Double.class, Double.class, xSize, zSize);
            ds.setStartX(0d);
            ds.setStepX(0.09);
            ds.setStartZ(0d);
            ds.setStepZ(0.75);

            for (int z = 0; z < zSize; z++) {
                for (int x = 0; x < xSize; x++) {
                    ds.updateYAt(x, z, mdata[z][x]);
                }
            }
        }
    });
0 votes
0 answers
0 views
0 votes
0 answers
0 views
0 votes
0 answers
256 views

Hello, I am working for making a 3d model animation, but the problem I encounter is class ObjectModel3D has a dependency property named PositionProperty , but it has not a dependency property named XProperty or ZProperty, so I can’t use BeginAnimation or StoryBoard.Begin Class.

for StoryBoard Class, my code is:

_3dObject obj3d = new _3dObject();
         Vector3 vector3 = new Vector3();
         vector3.X = obj3d.ChassisModel.Position.X;

        var animationChassis = new DoubleAnimation()
        {
            From = obj3d.ChassisModel.Position.X,
            To = 100,
            Duration = new Duration(TimeSpan.FromSeconds(1))
        };

        Storyboard storyboard = new Storyboard();
        Storyboard.SetTarget(animationChassis,obj3d.ChassisModel);
        Storyboard.SetTargetProperty(animationChassis,new PropertyPath(ObjectModel3D.PositionProperty));
        storyboard.Children.Add(animationChassis);
        storyboard.Begin();

here Storyboard.SetTargetProperty(animationChassis,new PropertyPath(ObjectModel3D.PositionProperty)); is wrong because ObjectModel3D.PositionProperty can’t be applied.

for BeginAnimation, my code is :

TranslateTransform tt3D = new TranslateTransform();
        _3dObject obj3d = new _3dObject();
         var animationChassis = new DoubleAnimation()
        {
            From = obj3d.ChassisModel.Position.X,
            To = 100,
            Duration = new Duration(TimeSpan.FromSeconds(1))
        };

         obj3d.ChassisModel.RenderTransform = tt3D;

         tt3D.BeginAnimation(TranslateTransform.XProperty,animationChassis);

this code has no error(maybe), but it does nothing. I wanted to use TranslateTransform3D. but obj3d.ChassisModel.RenderTransform don’t correspond to TranslateTransform3D.

Do you have any thoughts about making an animation using ObjectModel3D or any other kind?
Please Help me!
Thanks!!

Update1
I’ve work on this for a whole day, I still didn’t find a way to animate a translation movement of 3d model.
I’m trying to add a dependency property to ObjectModel3D class.
if anyone has any idea, please bring it on.

Update 2
I doubt that ObjectModel3D could be used with DoubleAnimation or StoryBoard.
What I did is take a for loop to manipulate Position.X, and make sure to use second thread to do that.
PS : WPF is a bad platform for 3d model, U3D is better for C# user.

  • Jong Ming asked 3 months ago
  • last active 3 months ago
0 votes
373 views

Hello, I am looking for a solution about how to get a 3D model DLL, like Schichart did in the example:SciChart_AddObjectsToa3DChart, and the name of DLL is: SciChart.Examples.ExternalDependencies.
I wish I can also compile a 3d model into DLL, because if I import directly an Obj model, it will become a huge burden for WPF.
Please help me if you have some ideas. Thanks!

  • Jong Ming asked 3 months ago
  • last active 3 months ago
0 votes
0 answers
258 views

When I send the offline trial activation email it responds with “invalid username/password” despite me being able to sign in to the SciChart website with the same credentials.

0 votes
300 views

Hello!
I’m trying to migrate OhlcDataSeries from Double to more accurate BigDecimal on Android.
But I faced with an issue that “GenericClass doesn’t support class”

How can I fix it?
I want to use BigDecimal with chart.

Thank you

  • Roman Z asked 3 months ago
  • last active 3 months ago
0 votes
321 views

Hello,

On our SciChart’s XAxis we are using a NumericAxis and within the NumericAxis we bind to a LabelProvider. In the UI, this works perfectly and we get the XAxis appearing with the titles we desire (as strings writing over the numeric values 0, 1, 2, …). Meanwhile the YAxis doesn’t use any LabelProvider and stays numeric. The XAxis.LabelProvider is an IList of strings.

Although this works great in the UI, when I export the SciChart it does not pick up the LabelProvider and the exported image only contains the numeric values 0, 1, 2, … on the XAxis.

I do the export as following:

SciChartSurfaceBase.ExportToFile(filename, SciChart.Core.ExportType.Png, useXamlRenderSurface, exportedSize);

Is there a way to get the ExportToFile command to acknowledge the LabelProvider is there like it does with the UI?

Thank you!
Hannah

0 votes
0 answers
275 views

Hi, spotted a Typescript issue – the class declaration of SeriesInfo is missing at least two properties – zValue and formattedZValue. Noticed it because my IDE was complaining about their usage. Looking at a comparison of the class declaration and a console log of what actually exists, it looks like a few more might be missing too.

The above properties are also missing from the type docs.

Thanks!
Joe

1 vote
277 views

Can you please provide an example or documentation on how to change the tooltip style? Is any method to turn off the cursor pointer for a particular data series?

0 votes
533 views

Hi , many of the charts provide a way to set the date on the x axis for the data series and that makes the axis match the DataSeries value defined for that axis, but for heatmap dataseries when you define xType as date the xAxis of type date is not displaying on surface, I don’t know what I’m doing wrong and there is no sample for dates on GitHub , the samples only use int , would be great if you can provide a date sample for the heatmap , thanks

Showing 51 - 100 of 3k results