Hi,
We face following problems how to fix that like showing in sample snapshot?
Hi Elinder.
Please find anwers to your questions below:
1.How to place legend inside the chart, currently it is in the left side above the chart?
You can use css to place the element wherever you like, for example:
style="left: 90px; top: 60px; position: absolute;"/>
2.How to left align yaxis label values, currently all values are right aligned?
There is the labelHorizontalAlignment property for axes to achieve that:
{ name: "PopulationAxis", type: "numericY", labelHorizontalAlignment: "left", }
3.Two decimals tooltip values format with comma's like (5,000.00 and 20,000.00) with datetime format?
I didn't understand your query here, could you please clarify ? Do you want to display a numeric value like 2.000 with a comma as a separator ? What about the datetime format ?
4.How to set HorizontalCrosshairVisibility = false ?
You can use the horizontalLineVisibility property of a series object. It takes values "visible" or "collapsed" and collapsed hides the relevant line:
{ type: "crosshairLayer", name: "crosshairLayer", targetSeries: "1995Population", horizontalLineVisibility: "collapsed" }
5.Small sample application is really very helpful for us.
You can find a sample demonstrating how to use the above mentioned properties. I hope it helps.
Hi Hristo,
Thank you so much for quick response, Our mostly problems are solved only few minor issues,
Hi Elinder,
I am glad 1) and 2) have been fixed. As mentioned I was not able to reproduce Failed to open error and Object doesn't support property or method 'igDataChart' error. Do you tend to see these with all browsers, or just with IE ?
The newly attached sample also fixes 3) when you stay at a point for a few seconds month change automatically, and tooltip is not showing of the visited points when we re-visit t the point. Please have a look at the attached Chart_v4.zip file. The sample now uses tooltipShown event and there is slight improvement in the if statement that handles the date label. Please have a look at it.
I assumed it os only left to address the legend position issue. I am not able to understand why the last one did not solve it. Do you want the legend element to automatically resize itself along with resizing the browser window for example ? Please let me know and explain in more detail. You can draw the place where you want the legend to appear also.
Thank you so much your provided solution is solved our tooltip problems.
Thank you for clarifying the exact position. To achieve this you can place the legend inside the chart div element and provide the legend the following css:
<div class="col-md-12 chart-body" id="priceChart" style="background-color: #EBF3FB; margin: 0px 0px 20px 0px;overflow:hidden;"> <div id="chartLegend" style="position: relative; float: right; left: -10px; top:5px; z-index: 10000;"></div> </div>
Please see the attached sample. I hope this meets your requirements. Please let me know if you have further questions on the matter, I will be glad to help.
Thank you so much your provided solutions solved our problems.
I am glad this helped you resolve your issues. I am closing this ticket now, but it may be reopened within 30 days of closure, if anything occurs.
Do you have an active case open for that issue ? I was not able to find one. If you have please update me with the case number so that I can have a look at it. Otherwise please open a new ticket with details on the issue and we will investigate.
We didn't receive any update about this date 08-03-2015 9:12 AM thread regarding lower chart tooltip position. Please fix this issue in sample application its really very helpful for us.
Thanks,
Sufyan
I am glad first issue is fixed now.
I have investigated the crosshair issue and it seems like a lot of factors impact the performance and result in delaying here:
1) The page UI which is heavy to render ( two charts, lots of data, real time animations like the crosshair itself, calculations at lot of events, etc)2) Adittional crosshair layer that adds up to the heaviness of the UI3) Two-way binding in Angular
It is really hard to determine a single reason for resulting as it is a result of more than one which adds up. This also makes it hard to introduce a fix rather than general and concrete suggestions on Angular applications performances. I have tried both lowering the complexity of the UI by leaving only a single chart on the page and also removing the aditiional crosshair layer. It essentially improves performance. Considering the above mentioned I suggest:
1) Removing the crosshair layer that is used to remove the horizontal crosshair line2) Lowering the complexity and density of the UI3) Best practices on improving performances in Angular:
https://www.airpair.com/angularjs/posts/angularjs-performance-large-applicationshttps://www.binpress.com/tutorial/speeding-up-angular-js-with-simple-optimizations/135
(Please note that those sites are not maintained or owned by Infragisctics)
I hope the above mentioned makes it clear why it is hard to suggest a real fix for this issue, which is in fact a real time animation in an app that takes resources to render complex UI with animations and real time two way binding. The suggested will truly help you improve performance with minimal sacrifice on look and feel and functionality of the charts on the page.
Thanks for updating
Hello,
Please find solutions to your questions below:
1. When we move mouse on chart, values are not rounded on spot its take time to round. How to fix the decimals of all stock prices (open/high/low/close) in pop up to be two digits on spot with out delay ?
Currently I have been using tooltipShown event, because it is needed for the Date label to be formatted. However it causes this time to display the raw values and the rounded ones. To fix this I separated the logic for the labels and execute it in tooltipShowing for labels and tooltipShown for the Date and Volume label.
This is the fix to display with two digist after separator:
newRoundedValue = (Math.round(ui.item[labels[i].innerText.slice(0, -1)] * 100) / 100).toFixed(2); ui.item[labels[i].innerText.slice(0, -1)] = newRoundedValue;
2. Currently vertical crosshairLayer has a delay following the mouse location. How to make them faster?
I am currently investigating what may be the cause of this issue. Does it behave the same way from the beginning, or do you recall started delaying after introducing a feature or functionality to the sample ?