Hi, i have a project. I need to compare two lines charts. To compare them, i need to print them on the same graphs, on the same window if possible (avoid two scichart canva). i want to use the same xAxis. But i want two yAxis (0 to 100%, and the other 0 to 100%, but overlapping the first one).
All solutions i found, was to create two yAxis, the second one next to the first one.
I put some pictures, that can help to understand the problem (the one with red annotations is what i want).
Thanks 🙂
- thier tom asked 1 day ago
- last active 12 hours ago
Hello,
we are building an application where Charts are created/placed by the user in a form of editor.
We observed that the creation of the first Chart takes between 1 to 3 seconds (depending on the system) but the creation of subsequent Charts takes virtually no time (as it should be).
We assume that the creation of the first Chart involves some kind of time consuming initialization that is later used in the creation of subsequent Charts.
So we have researched if there is a way to do this initialization at the start of our application, so the user is not inconvenienced by a three second waiting time while placing the first Chart.
We discovered the “LoadLibrariesAndLicenseAsync”-function. However, it looks like it has no measurable effect.
Maybe we are using it wrong?
Here is an example code to illustrate the problem in a condensed manner:
Two charts are created and each time the time it takes to create them is measured.
The first creation takes about 1600 milliseconds, the second one only 2.
How can we make both creations only take a few milliseconds?
Thank you.
// SciChartSurface.SetRuntimeLicenseKey("our key");
await SciChart.Charting.Visuals.SciChart2DInitializer.LoadLibrariesAndLicenseAsync(
"our key",
null); //...does not seem to work
Stopwatch sw = new Stopwatch();
sw.Restart();//start stopwatch
//creating the first Scichart with test data:
SciChartSurface sciChartSurface = new SciChartSurface();
XyDataSeries<double, double> xyDataSeries = new XyDataSeries<double, double>();
xyDataSeries.AcceptsUnsortedData = true;
FastLineRenderableSeries fastLineRenderableSeries = new FastLineRenderableSeries();
fastLineRenderableSeries.DataSeries = xyDataSeries;
sciChartSurface.RenderableSeries.Add(fastLineRenderableSeries);
NumericAxis m_xAxis = new NumericAxis();
NumericAxis m_yAxis = new NumericAxis();
m_yAxis.AutoRange = AutoRange.Always;
sciChartSurface.XAxis = m_xAxis;
sciChartSurface.YAxis = m_yAxis;
using (xyDataSeries.SuspendUpdates())
{
for (int i = 0; i < 100; i++)
xyDataSeries.Append(i, Math.Sin(i));
}
Screen.Children.Add(sciChartSurface);//add first Scichart to grid
sciChartSurface.Margin = new Thickness(0, 0, 500, 0);
MessageBox.Show("time: "+sw.ElapsedMilliseconds); ////////// 1610 Mlliseconds
sw.Restart();//restart stopwatch
//creating the second Scichart with test data:
SciChartSurface sciChartSurface2 = new SciChartSurface();
XyDataSeries<double, double> xyDataSeries2 = new XyDataSeries<double, double>();
xyDataSeries2.AcceptsUnsortedData = true;
FastLineRenderableSeries fastLineRenderableSeries2 = new FastLineRenderableSeries();
fastLineRenderableSeries2.DataSeries = xyDataSeries2;
sciChartSurface2.RenderableSeries.Add(fastLineRenderableSeries2);
NumericAxis m_xAxis2 = new NumericAxis();
NumericAxis m_yAxis2 = new NumericAxis();
m_yAxis2.AutoRange = AutoRange.Always;
sciChartSurface2.XAxis = m_xAxis2;
sciChartSurface2.YAxis = m_yAxis2;
using (xyDataSeries2.SuspendUpdates())
{
for (int i = 0; i < 100; i++)
xyDataSeries2.Append(i, Math.Sin(i));
}
Screen.Children.Add(sciChartSurface2);//add second Scichart to grid
sciChartSurface2.Margin = new Thickness(500, 0, 0, 0);
MessageBox.Show("time: "+sw.ElapsedMilliseconds); //////////////////////////// 2 Mlliseconds
- Marc Vahldieck asked 6 days ago
- last active 5 days ago
Hi SciChart!
I’m building a real-time data chart, and I wanted to add a SciChartOverview like the “Realtime Ticking Stock Chart” has.
But for some reason, when the user drags the overview to one of the edges, the XVisibleRange stops the updates.
The XAML, the relevant ViewModel, the update method and a short video that demonsrate the problem are attached.
- Ben Mendel asked 6 days ago
I am trying to build my application with Electron. When the Electron application is run, it will open the UI in the browser (not opened with chromium). I created two Electron applications with same codes but with different versions of SciChart (i.e. version 2 and version 3). When I run with the Electron application with SciChart v2, the SciChart can be loaded properly. When when I run the Electron application with SciChart v3, I got error (please refer to the screenshot) and the SciChart cannot be loaded. I am not sure what’s wrong. Do you have any idea?
- Quyen Sy asked 1 week ago
- last active 4 days ago
Hi,
I’m trying to synchronize the pie chart and the line chart in React. I’ve already done this for two line graphs.
They both use the same data table. And I want to know if it’s possible, if when I zoom in on the line chart, it updates the Pie chart with the new range.
Thanks, (sorry for my english ^^)
- thier tom asked 1 week ago
- last active 1 week ago
Hi there.
When using PixelPointMarker3D, it seems that it does not work depending on the version of “SciChart.Charting3D.dll”.
Here is my code.
<s3D:SciChart3DSurface.RenderableSeries>
<s3D:PointLineRenderableSeries3D IsLineStrips="False" StrokeThickness="4">
<s3D:PointLineRenderableSeries3D.PointMarker>
<s3D:PixelPointMarker3D SelectedFill="Red"/>
</s3D:PointLineRenderableSeries3D.PointMarker>
</s3D:PointLineRenderableSeries3D>
</s3D:SciChart3DSurface.RenderableSeries>
. . .
<s3D:SciChart3DSurface.ChartModifier>
<s3D:ModifierGroup3D>
<s3D:VertexSelectionModifier3D ExecuteOn="MouseRightButton" />
</s3D:ModifierGroup3D>
</s3D:SciChart3DSurface.ChartModifier>
When i use a dll in the “%AppData%\Local\Programs\SciChart\SciChart SDK\ExampleBin\net6.0-windows\SciChart.Charting3D.dll” path, It works fine as follows.
(Dll Version: 7.0.0.26941)
On the other hand, when referring to SciChart3D received through Nuget, it does not work as shown below.
(Nuget Package Version: 7.0.1.27055)
It seems that TooltipModifier3D also behaves in the same way.
Is there any solution for the above trouble?
Best Regards.
- nada nada asked 2 weeks ago
- last active 2 weeks ago
How to update the text Annotation in JavaScript. I can add the new Text annotation but I can’t update the old text Annotation. whether we have any option in sci chart for JavaScript.
- manoj prabakar asked 2 weeks ago
- last active 2 weeks ago
Hello.
Is there a way to hide points out of the Visual Range in SciChart3DSurface?
- nada nada asked 2 weeks ago
- last active 2 weeks ago
I am trying to add an axis annotation to a heatmap legend. When this annotation is dragged, the color mapping of the heatmap series and the heatmap legend will be changed. How can I modify the colorMap.gradientStops of the heatmap series and the heatmap legend while the chart is running?
- Quyen Sy asked 2 weeks ago
- last active 2 weeks ago
Hello, I’m using the trial version currently and everything is working great.
I was wondering is there is any way to freeze the chart like I’m looking at pictures while the chart appends new data or save somehow the data points until I will finish my zoom(also if I can move while zooming).
I’m new developer and I have some Idea how to do that but I don’t what will be the right way to do so.
- Shai Ashto asked 2 weeks ago
- last active 1 week ago
hello.
I am trying to draw the cube area when dragged mouse in SciChart3DSurface likes RubberBandXyZoomModifier.
But I couldn’t find a way to get the coordinates of the mouse clicked point.
Is there a way to get the 3d coordinate value of the point clicked with the mouse in the SciChart3DSurface area?
- nada nada asked 2 weeks ago
- last active 2 weeks ago
I’m seeing a crash log that happens only some times (it’s not consistently reproducible) that looks like this:
libc F FORTIFY: pthread_mutex_lock called on a destroyed mutex
libc F Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 10371 (GLThread), pid 9832
DEBUG F #00 pc 00000000000531f4 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: dc4001c2ef2dfc23467040797a96840c)
F #01 pc 000000000005507c /apex/com.android.runtime/lib64/bionic/libc.so (__fortify_fatal(char const*, ...)+124) (BuildId: dc4001c2ef2dfc23467040797a96840c)
F #02 pc 00000000000c360c /apex/com.android.runtime/lib64/bionic/libc.so (HandleUsingDestroyedMutex(pthread_mutex_t*, char const*)+60) (BuildId: dc4001c2ef2dfc23467040797a96840c)
F #03 pc 00000000000c34a0 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_lock+208) (BuildId: dc4001c2ef2dfc23467040797a96840c)
F #04 pc 0000000000833ac8 /vendor/lib64/egl/libGLES_mali.so (eglp_try_display_finish_terminating+88) (BuildId: 556d636a49f8475a)
F #05 pc 000000000083f268 /vendor/lib64/egl/libGLES_mali.so (eglp_release_tls+232) (BuildId: 556d636a49f8475a)
F #06 pc 00000000000c2c8c /apex/com.android.runtime/lib64/bionic/libc.so (pthread_key_clean_all()+124) (BuildId: dc4001c2ef2dfc23467040797a96840c)
F #07 pc 00000000000c2408 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_exit+72) (BuildId: dc4001c2ef2dfc23467040797a96840c)
F #08 pc 00000000000c2270 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208) (BuildId: dc4001c2ef2dfc23467040797a96840c)
F #09 pc 0000000000054a30 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: dc4001c2ef2dfc23467040797a96840c)
Any idea what could be happening?
- Marcela Guerra asked 2 weeks ago
I have a real time updated chart with multiple traces. I got run time error sometimes. It seems happening randomly. But it can be reproduced after a long run (e.g. 45 mins). I have checked, the memory condition is normal when the problem happens. Do you have any idea what’s wrong with it when I got this error?
- Quyen Sy asked 2 weeks ago
Memory leak in Fifo mode with Visual Xccelerator Engine enabled.
Two screenshots with Visual Xccelerator Engine enabled and disabled.
In a real application, the behavior is repeated. GS.Collect does not solve the problem.
It looks like the problem occurs on the integrated video card. AMD. When switching to a discrete video card. Memory is stable.
- p0934181372 p0934181372 asked 2 weeks ago
- last active 2 weeks ago
Hi I am using UniformXyDataSeries<double>
.
And I can’t work with SciChartOverview.
Before that I was working with XyDataSeries<double, double>
and everything worked very well.
And now the entire SciChartOverview is simply black.. (still functions as a scrollbar)
And I get this –
SciChartSurface didn’t render, because an exception was thrown:
Message: Object reference not set to an instance of an object.Stack Trace: at
SciChart.Charting.Visuals.RenderableSeries.DrawingProviders.MountainSeriesDrawingProvider.trj(yhn
ayc, IPointSeries ayd) at
SciChart.Charting.Visuals.RenderableSeries.DrawingProviders.MountainSeriesDrawingProvider.OnDraw(IRenderContext2D
renderContext, IRenderPassData renderPassData) at
SciChart.Core.Extensions.EnumerableExtensions.ForEachDo[T](IEnumerable1
1 operation) at
enumerable, Action
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
qxc.cyh(RenderPassInfo cff, IRenderContext2D cfg, Int32 cfh) at
qxc.cyg(ISciChartSurface cfc, RenderPassInfo cfd, IRenderContext2D
cfe) at qxc.RenderLoop(IRenderContext2D renderContext) at
SciChart.Charting.Visuals.SciChartSurface.DoDrawingLoop()
This is the code:
<s:SciChartSurface
x:Name="sciChart0" ... > <s:SciChartSurface.RenderableSeries >
<s:FastLineRenderableSeries x:Name="RenderableSeries0" DataSeries="{Binding samples[0]._Series, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Stroke="{Binding samples[0].Color, Mode=TwoWay}"
StrokeThickness="2" s:LegendModifier.IncludeSeries ="{Binding samples[0].Show, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</s:SciChartSurface.RenderableSeries > <!-- ..... -- >
</s:SciChartSurface>
<!-- Declare the SciChartOverview and bind to the main chart -->
<s:SciChartOverview x:Name="sciChart0Overview" MouseWheel="sciChart0Overview_MouseWheel" Margin="10,0,10,0"
DataSeries="{Binding ElementName=sciChart0, Path=RenderableSeries[0].DataSeries}"
ParentSurface="{Binding ElementName=sciChart0}" Height="50" VerticalAlignment="Bottom"
SelectedRange="{Binding ElementName=sciChart0, Path=XAxis.VisibleRange, Mode=TwoWay}"
ToolTip="Use the mouse wheel to change the sample shown here."
/>
Again – everything worked fine for me until I changed the data structure…
[samples[0]._Series
is type of UniformXyDataSeries<double>
()]
Thanks!
- ravid saadia asked 2 weeks ago
- last active 2 weeks ago
I have a chart with a box annotation. When I try to resize the box annotation by dragging the left or right border, I got the “Uncaught TypeError: Cannot read properties of undefined (reading ‘x’)”. It’s not always reproducible and cannot be reproduced by dragging the whole box. Also, it only occurs with SciChart version 3 but not SciChart version 2. Please check the screenshots for more details.
- Quyen Sy asked 3 weeks ago
- last active 5 days ago
Hello,
I would like to implement a simple FastColumnRenderableSeries with an HorizontalLineAnnotation. But I would like it to be sideways.
Here is my current code:
g = new FastColumnRenderableSeries(); colums = new UniformXyDataSeries<double>();> using (m_sciChartSurface.SuspendUpdates()) { colums.Append(1); } g.DataSeries = colums; m_sciChartSurface.RenderableSeries.Add(g);> m_xAxis = new NumericAxis(); m_yAxis = new NumericAxis(); m_sciChartSurface.XAxis = m_xAxis; m_sciChartSurface.YAxis = m_yAxis; m_xAxis.Visibility = System.Windows.Visibility.Hidden; m_yAxis.AutoRange = AutoRange.Never; m_yAxis.VisibleRange = new DoubleRange(-3, 2); HorizontalLineAnnotation hla = new HorizontalLineAnnotation(); hla.Y1 = 1; hla.StrokeThickness = 5; hla.Stroke = Brushes.Red; m_sciChartSurface.Annotations.Add(hla); m_xAxis.AxisAlignment = AxisAlignment.Left; m_xAxis.FlipCoordinates = true; m_yAxis.AxisAlignment = AxisAlignment.Top; m_yAxis.FlipCoordinates = true;
However, the HorizontalLineAnnotation behaves strangely.
Anny suggestions?
Thank you.
- Marc Vahldieck asked 3 weeks ago
- last active 3 weeks ago
I have issues with the selection box of the textannotation in firefox.
Code for the annotation:
return new TextAnnotation({
id,
text: text,
verticalAnchorPoint: EVerticalAnchorPoint.Center,
horizontalAnchorPoint: EHorizontalAnchorPoint.Left,
xCoordinateMode: ECoordinateMode.DataValue,
yCoordinateMode: ECoordinateMode.DataValue,
x1: x1,
y1: y1,
fontSize: 16,
fontWeight: "Bold",
textColor: annotation.color,
isEditable: isEditable,
annotationLayer: EAnnotationLayer.AboveChart
})
Please see the differences in the images attached. In the Firefox browser it seems that the svg takes on the size of the scichart surface. Can you help me to fix this problem? The parameters selectionBoxDelta and selectionBoxThickness work in both browsers but do not fix the problem.
Thank you.
- Tobias Lettner asked 3 weeks ago
I’m working with Custom Meshes. I want the user to be able to delete and create an arbitrary number of meshes. It’s fine if there’s a maximum number of meshes that can exist at a time. However, by repeatedly clearing and creating the same mesh, I get this error;
System.InvalidOperationException: ‘The Maximum Mesh ID has been exceeded. Please see http://www.scichart.com/maximum-mesh-id‘
I get the error when I try to add a FreeSurfaceRenderableSeries3D object to the a Scichart3DSurface.RenderableSeries. The link provided by the error got 404’d. I have sixteen SceneObject objects and one TextSceneEntity, borrowed from the example suite. While reproducing the error, I never had more than one mesh. I cleared the RenderableSeries before inserting another mesh.
Is it possible to keep adding meshes as long as I delete them, or does a SciChart3DSurface have a maximum number of meshes that can be added, even with deletion?
- Will Wright asked 3 weeks ago
- last active 2 weeks ago
I am implementing a heatmap chart and would like to allow users to adjust the color mapping of the heatmap by adding sliders to the heatmap legend (Please refer to the attached screenshot). Does SciChart support color slider for HeatmapLegend?
- Quyen Sy asked 3 weeks ago
- last active 2 weeks ago
Lets imagine that we have zoom feature and we want to format axis depend on user selected zoom. for example if year select yearly the pattern is yyyy MM dd and if selected zoom is day the pattern is something like this HH:mm:ss. how we can achieve to this goal?
- Vahid Garousi asked 4 weeks ago
- last active 3 weeks ago
I have a real time updated chart and users can add annotation to the chart. The position of the annotation will be updated with the chart data. I would like to stop updating the annotation position while user dragging the annotation. So I added a flag (e.g. isDragging) to the annotation dragStarted and dragEnded events. The isDragging flag will be set to true in dragStarted and then set to false in dragEnded. I will check this flag before updating the annotation position.
Here’s the problem, the annotation dragStarted event will be triggered when users do panning in the chart. But the dragEnded will not be triggered in this case. It breaks my plan to stop updating the annotation position as the isDragging will be incorrect. Is it a bug that the annotation dragStarted event (but not the dragEnded event) triggered when panning?
- Quyen Sy asked 4 weeks ago
- last active 2 weeks ago
Hi,
I have an analog and scatter chart on separate tabs and when I change for the tab with the scatter chart, after a bit the chart starts to flicker with the data on the chart and the axes values moving quickly up and down and in a few seconds, it’ll become still and won’t move anymore until I change tabs again. It looks like if it would like to scale the Y axis values really quickly, but it’s the same before and after the flickering, which is totally correct, so there is no need to do anything like this. It happens both if I put data to the series dynamically and if there is no data update also. What can cause this behavior?
This is my chart in the XAML:
<s:SciChartSurface x:Name="ScatterChart"
ClipToBounds="True"
RenderableSeries="{Binding ScatterRenderSeries}"
Margin="10,0" >
<s:SciChartSurface.ChartModifier>
<s:ModifierGroup>
<s:XAxisDragModifier DragMode="Scale"/>
<s:YAxisDragModifier AxisId="LeftAxis" DragMode="Scale"/>
<s:YAxisDragModifier AxisId="RightAxis" DragMode="Scale"/>
<sciChart6Controls:NotifyingMouseWheelZoomModifier IsEnabled="true" ReceiveHandledEvents="True"/>
<s:MouseWheelZoomModifier IsEnabled="True" ActionType="Zoom" XyDirection="XYDirection"/>
<s:RubberBandXyZoomModifier/>
<s:ZoomPanModifier IsEnabled="True" ExecuteOn="MouseRightButton" ClipModeX="None" />
<s:ZoomExtentsModifier ExecuteOn="MouseDoubleClick" />
<s:RolloverModifier ShowTooltipOn="MouseOver"/>
<s:LegendModifier Margin="10" ShowLegend="True" />
</s:ModifierGroup>
</s:SciChartSurface.ChartModifier>
<s:SciChartSurface.XAxis>
<s:NumericAxis x:Name="ScatterXAxis"
AutoRange="Always"
GrowBy="0.1,0.1"
AxisTitle=""
DrawMajorBands="True"
DrawMinorTicks="True"
DrawMinorGridLines="True"
AutoTicks="True"
AxisAlignment="Bottom"/>
</s:SciChartSurface.XAxis>
<s:SciChartSurface.YAxis>
<s:NumericAxis x:Name="ScatterYAxis"
Id="LeftAxis"
AutoRange="Always"
GrowBy="0.1,0.1"
AxisTitle=""
DrawMajorBands="True"
DrawMajorGridLines="True"
DrawMinorGridLines="True"
AutoTicks="True"
TextFormatting="F2"
ScientificNotation="Normalized"
AxisAlignment="Left" />
</s:SciChartSurface.YAxis>
- Péter Grósz asked 4 weeks ago
Hi,
I’ve faced a strange issue, chart display normally in prevew window under anycpu configuration, once changed the configuration to x64, tha chart not display with no error message. I’ve tied on two computers, erase system harddisk, reinstall window, only install vs2019 and scichart wpf7, and the issue is same. Other wpf controls work normally only scichart has this issue. The program is running normally, only in preview has this issue.
And it’s OK in VS 2022, same project open in VS 2022, x64 configuration preview display normally.
Any solution? Thanks.
- Keyu Yan asked 4 weeks ago
- last active 4 weeks ago
I get this error when i want to download this dependency.
please help me
- Vahid Garousi asked 4 weeks ago
I am creating a graph for 10 data series using Scichart, with the most optimal legend placement for the graph being “Top” with Horizontal Orientation as shown in the code below. I would like to keep the spacing compact so all the data series can be visible without the need for the scrollbar, however because of the checkboxes for selecting each series being enabled I cannot compress the spaces to make all the data series visible. I did try using a custom legend with the typical binding but to no avail. I have attached an image of the current legend as well.
<s:LegendModifier Name="legendModifier" Margin="1" Width="1" ShowLegend="True" Orientation="Horizontal"
HorizontalAlignment="Left" VerticalAlignment="Top"
LegendPlacement="Top" ScrollViewer.HorizontalScrollBarVisibility="Auto"
Visibility="Visible"/>
Is it possible to format the legend so as to keep all the series names visible while maintaining the checkboxes for displaying or hiding individual data series?
- Gil Owu asked 4 weeks ago
- last active 4 weeks ago
Is it possible, in version 2.2.2404, to have RubberBandXyZoomModifier function like what seems to be the default for v3? So when I’m dragging the box to zoom, if I leave the chart area, the box snaps to the edges of the chart, and upon mouse release, it zooms normally to the box.
I can provide an example:
https://8tunzo.csb.app/ — broken (version 2.2.2404)
https://umvryi.csb.app/ — working (version 3.0.301)
Same exact code
import { SciChartSurface } from "scichart/Charting/Visuals/SciChartSurface";
import { NumericAxis } from "scichart/Charting/Visuals/Axis/NumericAxis";
import { XyDataSeries } from "scichart/Charting/Model/XyDataSeries";
import { FastLineRenderableSeries } from "scichart/Charting/Visuals/RenderableSeries/FastLineRenderableSeries";
import { MouseWheelZoomModifier } from "scichart/Charting/ChartModifiers/MouseWheelZoomModifier";
import { RubberBandXyZoomModifier } from "scichart/Charting/ChartModifiers/RubberBandXyZoomModifier";
import { ZoomExtentsModifier } from "scichart/Charting/ChartModifiers/ZoomExtentsModifier";
const dataX = [0, 10, 20, 30, 40, 50];
const dataY = [0, 10, 5, 20, 15, 35];
// eslint-disable-next-line
SciChartSurface.useWasmFromCDN();
async function initSciChart() {
const { sciChartSurface, wasmContext } = await SciChartSurface.create(
"scichart-root"
);
const xAxis = new NumericAxis(wasmContext);
const yAxis = new NumericAxis(wasmContext);
sciChartSurface.xAxes.add(xAxis);
sciChartSurface.yAxes.add(yAxis);
const lineData = new XyDataSeries(wasmContext, {
xValues: dataX,
yValues: dataY
});
sciChartSurface.renderableSeries.add(
new FastLineRenderableSeries(wasmContext, { dataSeries: lineData })
);
sciChartSurface.chartModifiers.add(new MouseWheelZoomModifier({}));
sciChartSurface.chartModifiers.add(new RubberBandXyZoomModifier({}));
sciChartSurface.chartModifiers.add(new ZoomExtentsModifier({}));
}
initSciChart();
- JoĂŁo Velasques asked 4 weeks ago
- last active 3 weeks ago
Hi!
Currently, I’m using Axis Layout – vertically stacked axes。When I use vertically stacked axes, click on a certain area, can I get on that axis? It’s from click on a certain area, not the series. I know the series can it.
can you give me some help?
- Jiawei Zhang asked 1 month ago
- last active 1 month ago
I followed the official example (SciChart_AddObjectsToa3DChart), created a simplest test program, copied the “King_Low.obj” file from the official sample program into my test program, but “King_Low.obj” did not show up, what is the problem?
- hundun wds asked 1 month ago
- last active 2 weeks ago
Hello,
I just want to override the ChartModifier property in the style
I have tree charts one after the other and only the last chart has a legend. It seems I cannot use a style with the same key multiple times.
<Style x:Key="ChartWithMyModifiers" TargetType="{x:Type s:SciChartSurface}">
<Setter Property="ChartModifier">
<Setter.Value>
<s:ModifierGroup>
<s:ZoomPanModifier ExecuteOn="MouseRightButton" ClipModeX="None" />
<s:YAxisDragModifier DragMode="Scale"/>
<s:XAxisDragModifier DragMode="Scale"/>
<s:MouseWheelZoomModifier/>
<s:ZoomExtentsModifier ExecuteOn="MouseDoubleClick" />
<s:LegendModifier ShowLegend="True"/>
</s:ModifierGroup>
</Setter.Value>
</Setter>
</Style>
The result screen is attached.
Thanks, Gabor
- László Géczi asked 1 month ago
- last active 1 month ago
Hi,
I made a custom modifier and tried to capture a keydown event in Custom Modifiers in abstract “Overriding Key Events” described. The problem is that this event is only fired when SciChartSurface is on focus but for standard modifier like MouseWheelModifier it is working properly. Is there any way to capture the event for whole application?
- Marcus KrauĂźe asked 1 month ago
- last active 1 month ago
Hello,
I found a bug where the SCILegendModifier doesn’t display the full series name. If I add 5 spaces to the series name string, I’m able to see the full series name.
Also, when using margins on the legend modifier instance, the legend fills all available space. Manually resizing the window fixes this bug.
See the photos.
- Tihomir Manushev asked 1 month ago
- last active 1 month ago
Hello,
One thing I can’t figure out is why I don’t see the axis tooltips when using SCIRolloverModifier or SCICursorModifier? If I use xAxis.axisTitleMargins = NSEdgeInsets(top: 1000, left: 0, bottom: 10, right: 0)
I can see tooltips on x axis but only until some point and from there moving the cursor to the right leads to some sort of overlay and tooltip disappears. See the photos.
Is this a bug or I’m doing something wrong?
- Tihomir Manushev asked 1 month ago
- last active 1 month ago
Hi,
I am trying to implement an improvement for my app where the chart is hidden if the licence key is invalid. But I can’t find how to do that. If I enter an invalid key like shown in examples, the code never ends up in the catch clause. Is there any other way? Or is this a bug?
try {
SciChartSurface.setRuntimeLicenseKey(getString(R.string.sci_chart_runtime_licence_key));
} catch (Exception e) {
Elog.e("SciChart Error when setting the license", e);
}
- Evado Dev asked 1 month ago
- last active 1 month ago
I am trying to implement the following functionality requested by our users:
Zoom:
– Only zoom the chart when using CTRL + MouseWheel key
– This is similar to how most browsers behave
Pan/Scroll:
– If no CTRL key is pressed, then pan/scroll
– This is similar to how most browsers behave
Given the above requirement, I started by creating custom modifier by extending YAxisDragModifier.
My code almost works:
– When using CTRL + Mouse Left & Drag, it Scales (zooms) — just like the user wants
– But using CTRL + Mouse Wheel does not do the same — it only Scales (Zooms).
I have uploaded the code at codesandbox.io:
https://codesandbox.io/s/amazing-shape-2ispt0?file=/src/customModifiers.ts
Note that I have not tried to implement this in ZoomPanModifier yet, but would be helpful if you could give me some pointers on getting this feature in there too.
I would appreciate any help I can get and thanks a bunch in advance.
Best Regards,
Sachin Patel.
- sachin patel asked 1 month ago
- last active 1 month ago
This is my first time in this forum, and I am analyzing SCIChart. I am planning to use it in my software, but there are some questions I haven’t been able to answer yet.
My software is similar to an IDE, where the user can build their custom applications and run on windows environment, but we also provide an option to save all the interface in html and javascript. Since SCIChart provides not only WPF Charts but also javascript Charts, I would like to know the following:
1- Does the javascript charts have the same functionalities as the wpf charts? XY Charts or Pie charts for example, will they have the same functionalities in WPF and Javascript ?
2- Does the appearence of the charts in WPF and Javascript are the same? Do they look exatcly the same?
I believe these are my biggest doubts so far. Thanks in advance !!
- Fabio Pereira de Carvalho asked 1 month ago
- last active 1 month ago
Hi,
New to using Scichart JS, is it possible to change the series colour of the overview chart?
See screenshot, I have a FastColumnRenderableSeries as the main chart, and using FastMountainRenderableSeries for the overview. I would like to change the colour of the overview chart.
Tried setting the stroke colour etc, as in the example but can not seem to make it work.
Kind Regards,
James
- James Usherwood asked 1 month ago
- last active 1 month ago
https://www.scichart.com/questions/wpf/allow-point-marker-to-extend-past-graph-border
It is 6 years ago. Is it still not supported?
Extending a graph using GrowBy
is not adequate for me because what I need is to draw a point on the border not to extend the graph.
- JONGBOG JOUNG asked 1 month ago
- last active 1 month ago
Hello,
I am trying to add a BoxAnnotation with MVVM pattern where the X-Axis is a DateTime axis. The annotation can be dragged into the X-direction. I need to know the DateTime of each position while dragging and also the final position(DateTime) of the BoxAnnotation when the drag Ended. I am listening to the DragDelta and DragEnded events in ViewModel. But here I couldn’t able to get the DateTime from X1 and X2 of that annotation model. I am sharing some snippets of my code. Can you please let me know how I can achieve this?
In xaml:
<Style x:Key="_boxAnnotationStyle" BasedOn="{StaticResource AnnotationBaseStyle}" TargetType="scichart:BoxAnnotation">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="scichart:BoxAnnotation">
<Border x:Name="PART_BoxAnnotationRoot"
Margin="{TemplateBinding Margin}"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<scichart:SciChartSurface x:Name="GraphSurface"
Annotations="{scichart:AnnotationsBinding ItsAnnotations}">
<scichart:SciChartSurface.XAxis>
<scichart:DateTimeAxis x:Name="GraphXAxis"
VisibleRange="{Binding ItsTimeVisibleRange, Mode=TwoWay}" />
</scichart:SciChartSurface.XAxis>
<scichart:SciChartSurface.YAxes>
<scichart:NumericAxis x:Name="GraphYAxis"
VisibleRange="0, 10" />
</scichart:SciChartSurface.YAxes>
</scichart:SciChartSurface>
In ViewModel.cs
{
private DateRange _timeVisibleRange;
private ObservableCollection<IAnnotationViewModel> _annotations;
private IAnnotationViewModel _boxAnnotation;
public ObservableCollection<IAnnotationViewModel> ItsAnnotations
{
get
{
return _annotations;
}
}
public DateRange ItsTimeVisibleRange
{
get { return _timeVisibleRange; }
set
{
if (_timeVisibleRange == value) return;
_timeVisibleRange = value;
RaisePropertyChanged(() => ItsTimeVisibleRange);
}
}
.
.
.
_boxAnnotation = new BoxAnnotationViewModel()
{
IsEditable = true,
DragDirections = SciChart.Charting.XyDirection.XDirection,
X1 = DateTime.UtcNow.AddSeconds(300),
X2 = DateTime.UtcNow,
Y1 = 0,
Y2 = 8,
StyleKey = "_boxAnnotationStyle"
};
_annotations = new ObservableCollection<IAnnotationViewModel>() { };
_annotations.Add(_boxAnnotation );
_captureTimeRangeSelectorAnnotation.DragDelta += OnDrag;
_captureTimeRangeSelectorAnnotation.DragEnded += DragEnded;
.
.
.
private void DragEnded(object sender, EventArgs e)
{
var boxAnnotationModel = sender as BoxAnnotationViewModel;
// Need to know the DateTime value of X1 and X2
}
private void OnDrag(object sender, AnnotationDragDeltaEventArgs e)
{
var boxAnnotationModel = sender as BoxAnnotationViewModel;
// Need to know the DateTime value of X1 and X2
}
.....
.....
}
- Habibur Rahman asked 1 month ago
- last active 1 month ago
Have you guys ever seen the attached stack trace? It appears to happen when our view model gets activated and the annotations get unbound and rebound quickly during view model activation. It’s difficult to reproduce and is very specific to certain view models so I’m not going to try to create a sample application that has the issue, but perhaps you’ve seen the stack trace before or know something about it.
Thanks for any help!
Matthew
- Matthew Trahan asked 2 months ago
Hello SciChart team,
I wanted to implement 3DSelectionModifier that should select a point closest to the mouse pointer per mouse click.
To do this, I create a rectangle with a clicked point in the center with a mouse click and use the PickScene method of the ViewPort3D object.
List<EntityVertexId>? entityVertexIds = Viewport3D.PickScene(mousePoint.ToRectCenter(30));
Depending on the camera angle It can of course happen that several points appear in the scene. In this case I wanted to do the following:
for each determined point in 3D space, determine its 2D screen coordinates
HitTestInfo3D hitTestInfo = new HitTestInfo3D() { IsHit = true, EntityId = entityVertexId.EntityId, VertexId = entityVertexId.VertexId };
SeriesInfo3D? seriesInfo = pointsEntity.ToSeriesInfo(hitTestInfo);
//Vector3D hitVertex = seriesInfo.HitVertex;
Vector3 vertex = seriesInfo.HitVertexCoords;
Point point1 = ParentSurface.Camera.WorldToScreenSpace(vertex);
Determine the distance between the point of the mouse and the 2D coordinates of the point from the scene
double newDistance = PointUtil.Distance(mousePoint, point1);
Select the point with the shortest distance.
if (distance.IsNaN() || newDistance < distance)
{
distance = newDistance;
nearestSeriesInfo3D = seriesInfo;
}
During the implementation I encountered the following problem:
I used following camera object method first
Point p = ParentSurface.Camera.WorldToScreenSpace(vertex);
but this gave me no plausible point.
The other method
Point p = ParentSurface.Camera.LocalCoordinateToScreenSpace(vertex);
also seemed to return a point that returned the wrong value when calculating the distance, so the wrong point was selected.
If I try to click the data point directly, I expect at least one of the methods to return a point very very close to the mouse pointer. However, both methods gave me a point on the screen (see screenshot) that did not match the mouse point.
Maybe I’m missing a step or transformation. Could you explain me what I’m doing wrong?
Example project is attached
- Silvester Schneidt asked 2 months ago
- last active 2 months ago
I have XyDataSeries
with 50 data points and I’m trying to insert another 50 data points to index 5. The same values can be inserted as a range to the beginning of the data series or inserted one by one starting from index 5. But they fail with “RuntimeError: memory access out of bounds” whenever I try to insert them as a range from index 5.
Code snippet:
const { xValues, yValues } = generateData(50);
const dataSeries = new XyDataSeries(wasmContext, { xValues, yValues, isSorted: false });
sciChartSurface.renderableSeries.add(new FastLineRenderableSeries(wasmContext, { dataSeries }));
// this works
dataSeries.insertRange(0, xValues, yValues);
// this works
for (let i = 0; i < xValues.length; i++) {
dataSeries.insert(i + 5, xValues[i], yValues[i]);
}
// this fails
dataSeries.insertRange(5, xValues, yValues);
Codesandbox link: https://codesandbox.io/s/scichart-js-boilerplate-forked-hokfcn
I wonder if I’m doing something wrong or if this is an actual issue?
Side note: Index 5 is just an example, because it seems I can use the insertRange
method when inserting to index 0-2, but it fails when inserting to index 3+ (in case of a chart with 50 existing data points)
- Timo Betina asked 2 months ago
- last active 2 months ago
Hello, I’m new to Swift and macOS, but I’m tasked to research SciChart. I have started my macOS trial, got my trial code from the wizard app. I’m following the Creating your first SciChart macOS App
tutorial but I get Sorry! Your license token appears to be invalid
error.
Here is what I’ve tried:
import Cocoa
import SciChart
import AppKit
@main
class AppDelegate: NSObject, NSApplicationDelegate {
// override init() {
// SCIChartSurface.setRuntimeLicenseKey("XXX")
// }
func applicationDidFinishLaunching(_ aNotification: Notification) {
let licenseKey = "XXX"
SCIChartSurface.setRuntimeLicenseKey(licenseKey)
}
func applicationWillTerminate(_ aNotification: Notification) {
// Insert code here to tear down your application
}
func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool {
return true
}
}
Using override init()
leads to Terminating app due to uncaught exception 'License Exception', reason: ''
Using SCIChartSurface.setRuntimeLicenseKey()
in applicationDidFinishLaunching
leads to Sorry! Your license token appears to be invalid. Please contact support with your OrderID if you believe this to be incorrect.
What am I doing wrong?
- Tihomir Manushev asked 2 months ago
- last active 2 months ago
hello, can i know how to draw draw multiple 3DPointlines in a 3DSurface? I want to show my result in a 3DSurface, but i don’t know how to do it in SciChart. Thank you very much!
- Jian qiang Huang asked 2 months ago
- last active 2 months ago
We are having the first experiences with SCIchart. Could someone help with this problem we are experiencing?
[ encore ] ERROR Failed to compile with 1 errors14:42:33 [ encore ]
Module build failed: Module not found: [ encore ]
“./node_modules/scichart/_wasm/scichart2d.wasm” contains a reference
to the file “a”. This file can not be found, please check it for typos
or update it if the file got moved. [ encore ] ERROR in
./resources/js/Pages/Home.vue?vue&type=template&id=6a63e488&scoped=true&ts=true
(./node_modules/unplugin/dist/webpack/loaders/transform.js?unpluginName=unplugin-vue-components!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Pages/Home.vue?vue&type=template&id=6a63e488&scoped=true&ts=true)
10:27 Module parse failed: Unexpected token (10:27) File was processed
with these loaders: *
./node_modules/unplugin/dist/webpack/loaders/transform.js *
./node_modules/unplugin/dist/webpack/loaders/transform.js *
./node_modules/vue-loader/dist/templateLoader.js *
./node_modules/vue-loader/dist/index.js You may need an additional
loader to handle the result of these loaders. | }, null, -1 /* HOISTED
*/)) |export function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) { | return (_openBlock(),
_createElementBlock(“div”, _hoisted_1, [ | _createElementVNode(“h1”, null, _toDisplayString(_ctx.msg), 1 /* TEXT */),ERROR in ./node_modules/scichart/_wasm/scichart2d.wasm Module not
found: Error: Can’t resolve ‘a’ in
‘C:\Users\clo\fr\Projeto\chart\App\node_modules\scichart_wasm’ERROR in ./node_modules/scichart/_wasm/scichart3d.wasm Module not
found: Error: Can’t resolve ‘a’ in
‘C:\Users\clo\fr\Projeto\chart\App\node_modules\scichart_wasm’webpack compiled with 3 errors
- Marcelo Wanderley asked 2 months ago
- last active 3 weeks ago
I recently upgraded SciChart from version 2 to version 3.0.266. It was working fine. But I got error (please refer to the attached screenshot) when I try to run my application today. It’s so strange as it worked fine yesterday and I didn’t make any codes change today.
- Quyen Sy asked 2 months ago
- last active 2 months ago
Downloaded latest Licensing Wizard on my Mac M1 however I cannot run it to start my trial of SciChart.JS.
I’m looking at SciChart.JS for financial charting project in a .NET Blazor for analysis only.
As I’ve not been able to get SciChart installed or to try, is it possible to place annotations such as trend lines and boxes onto the chart by me clicking on the chart?
Also, how does indicators work? And can I add my own indicators? Will the algorithms for these indicators be written in JavaScript or can I do this in C# from Blazor?
I attach a screen shot of the problem running the Licensing Wizard.
Any suggestions would be helpful.
Thanks
- David P asked 2 months ago
- last active 2 months ago
I try to use this exemple on my PC with (nodejs 8.13.0) and i can’t run this app example. I receive this error:
× 「wds」: Invalid configuration object. Webpack has been initialized
using a configuration object that does not match the API schema.configuration.optimization has an unknown property ‘namedModules’.
These properties are valid:object { checkWasmTypes?, chunkIds?, concatenateModules?,
emitOnErrors?, flagIncludedChunks?, innerGraph?, mangleExports?,
mangleWasmImports?, mergeDuplicateChunks?, minimize?, minimizer?,
moduleIds?, noEmitOnErrors?, nodeEnv?, portableRecords?,
providedExports?, realContentHash?, removeAvailableModules?,
removeEmptyChunks?, runtimeChunk?, sideEffects?, splitChunks?,
usedExports? }-> Enables/Disables integrated optimizations. Did you mean optimization.moduleIds: “named” (BREAKING CHANGE since webpack 5)?*
Is there compatiblity problem with nodejs LTS version?
Thans for your response.
- Hochoc Max asked 2 months ago
- last active 2 months ago
Hello,
Is there away to extend a LineAnnotationViewModel to the right? I see there is a ExtendedLineAnnotaion
But that only seems to be available in the DrawingTools API.
Thank you
- Leland asked 2 months ago
- last active 2 months ago
How can we change Xaxis to Arabic date?
- Vahid Garousi asked 2 months ago
- last active 4 weeks ago