Jump to content
Software FX Community

RandyJ

Members
  • Posts

    126
  • Joined

  • Last visited

Everything posted by RandyJ

  1. Hi,Unfortunately, a built-in feature to specify a different tooltip for axis labels is not included. However as a workaround you can achieve the expected behavior by using the GetTip and MouseMove events. What you should do is simply store X and Y in the MouseMove event and then, during GetTip call HitTest with these values to determine the closest label. The following code snippet illustrates how to do this:private int m_lastMouseX,m_lastMouseY;private void chart1_MouseMove (object sender,HitTestEventArgs e){ m_lastMouseX = e.X; m_lastMouseY = e.Y;}private void chart1_GetTip (object sender,GetTipEventArgs e) { HitTestEventArgs a = chart1.HitTest(m_lastMouseX,m_lastMouseY); if ((a.HitType == HitType.Axis) && (a.Object == chart1.AxisX)) { int closestLabel = (int) Math.Round(a.Value); e.Text = "Long Label " + closestLabel.ToString(); }}Regards,RandyJ
  2. Hi, In order for the labels to be underneath the gaps and not under the grid line they must be manually centered. This can be done through the use of the Style property of an Axis as shown in the following sample:Chart1.AxisY.Style |= AxisStyles.Centered;Regards,RandyJ
  3. Hi, Take a look at the following sample: <%ChartServer chart1 = new ChartServer(pageContext,request,response);chart1.setWidth(600);chart1.setHeight(400);chart1.getImageSettings().setInteractive(false);FlashWriter writer = new FlashWriter();chart1.setOutputWriter(writer);chart1.renderControl();%> Regards, RandyJ
  4. Hi, Well, since the second series of the bubble chart controls the size of the bubble, you just need to modify the values in this second series. By doing so, you will be modifying the size of the bubble. For example, if you want to set a fixed size for the first bubble, you just need to modify the first point in the second series as follows: chart1.Data[1, 0] = 10; //Bubble Size for bubble on point 1 Regards, RandyJ
  5. Hi,In order to capture these coordinates you can use the UserZooming event which occurs after the user releases the zooming area selector and right before the chart is actually zoomed. This event will provide you (as event arguments) with the new Pixel coordinates of the chart. If you want to get the point coordinates (not pixel coordinates), you can use the PixelToValue method of the Axis class which converts a position in pixels in the chart area to its representation on the respective axis. A couple of things about Client-Side events: - UseClientLoader must be set to false - You must have Full Trust in your .NET permissions (Client Computer - .NET Framework 2.0 Configuration) in order for the client to send events to JavaScript. Take a look at the following sample:<script lang="JavaScript" for="Chart1" event="UserZooming(sender,args)"> alert('Pixel Coordinates: \n\nX1: ' + args.X1 +' and X2: '+ args.X2+ "\n" + 'Y1: ' + args.Y1 + ' and Y2: ' + args.Y2); var chx = document.getElementById("Chart1"); var x1 = chx.AxisX.PixelToValue(args.X1); var x2 = chx.AxisX.PixelToValue(args.X2); var y1 = chx.AxisY.PixelToValue(args.Y1); var y2 = chx.AxisY.PixelToValue(args.Y2); alert('Point Coordinates: \n\nX1: ' + x1 + ' and X2: ' + x2 + "\n" + 'Y1: ' + y1 + ' and Y2: ' + y2); </script> <form id="form1" runat="server"> <div> <chartfx7:Chart ID="Chart1" runat="server" RenderFormat=".Net" UseClientLoader="false" Width="729px"> <Series> <chartfx7:SeriesAttributes></chartfx7:SeriesAttributes> <chartfx7:SeriesAttributes></chartfx7:SeriesAttributes> <chartfx7:SeriesAttributes></chartfx7:SeriesAttributes> </Series> </chartfx7:Chart> </div> </form> </body> </html> Let me know if this is what you want to do. Hopefully this sample will help you. Regards, RandyJ
  6. Hi, In order to capture these coordinates you can use the UserZooming event which occurs after the user releases the zooming area selector and right before the chart is actually zoomed. This event will provide you (as event arguments) with the new Pixel coordinates of the chart. If you want to get the point coordinates (not pixel coordinates), you can use the PixelToValue method of the Axis class which converts a position in pixels in the chart area to its representation on the respective axis. A couple of things about Client-Side events: - UseClientLoader must be set to false - You must have Full Trust in your .NET permissions (Client Computer - .NET Framework 2.0 Configuration) in order for the client to send events to JavaScript. Take a look at the following sample:<script lang="JavaScript" for="Chart1" event="UserZooming(sender,args)"> alert('Pixel Coordinates: \n\nX1: ' + args.X1 +' and X2: '+ args.X2+ "\n" + 'Y1: ' + args.Y1 + ' and Y2: ' + args.Y2); var chx = document.getElementById("Chart1"); var x1 = chx.AxisX.PixelToValue(args.X1); var x2 = chx.AxisX.PixelToValue(args.X2); var y1 = chx.AxisY.PixelToValue(args.Y1); var y2 = chx.AxisY.PixelToValue(args.Y2); alert('Point Coordinates: \n\nX1: ' + x1 + ' and X2: ' + x2 + "\n" + 'Y1: ' + y1 + ' and Y2: ' + y2); </script> <form id="form1" runat="server"> <div> <chartfx7:Chart ID="Chart1" runat="server" RenderFormat=".Net" UseClientLoader="false" Width="729px"> <Series> <chartfx7:SeriesAttributes></chartfx7:SeriesAttributes> <chartfx7:SeriesAttributes></chartfx7:SeriesAttributes> <chartfx7:SeriesAttributes></chartfx7:SeriesAttributes> </Series> </chartfx7:Chart> </div> </form> </body> </html> Let me know if this is what you want to do. Hopefully this sample will help you. Regards, RandyJ
  7. Hi, When passing the data using the XML data provider, the data is passed as columns and rows, the same as with a table. The following demonstrates the format of a typical XML used to import and export data to and from Chart FX. <CHARTFX> <COLUMNS> <COLUMN NAME="Product" TYPE="String"/> <COLUMN NAME="Q1" TYPE="Integer" DESCRIPTION=
  8. Hi, How exactly are you using the ValueToPixel Function? Could you post a sample code showing the way you are using it? Regards, RandyJ
  9. RandyJ

    SaveChart

    Hi, Chart FX provides the Export method that enables you (or your end users) to save chart files, images and data in a variety of formats. Some of the formats available differ from platform to platform, as only web based products (i.e. Chart FX WebForms) will generate web formats (i.e. PNG or JPEG). There are also other file types in Chart FX called "Chart Templates" that allow you to save the appearance (Colors, Chart Types and Styles, Visible Tools, etc.) of the chart in a file so you can later apply it to another chart. This allows you to reuse code instead of setting the same attributes for all of your individual charts. Note: Templates save all the information that is not data related. This means, it will not save the values, number of series or points, or any other property related to this data, such as MultiType settings and Min, Max values in the chart axes. In regard to the export method, please take a look at the following sample that shows how to use it: chart1.Export(FileFormat.Bitmap, @"c:\image.bmp"); Regards, RandyJ
  10. RandyJ

    Chart.hidden

    Hi, The issue may be related to the fact that Chart FX forces the same amount of points per series. When this is not the case, an unexpected behavior may be experienced. It is worth to mention that you can specify hidden points to create the illusion of some invisible points in the chart through the use of hidden points. However, although some points may be not visible, they must be present (exist) as invisible points in the series (uneven series are not supported). In Chart FX 7 (our latest .Net product) there is a property called "InterpolateHidden" which (when set to true) allows to draw a connecting line over missing data points. When this property is set to false, hidden points in the chart will result in a "broken" line in the chart. When set to true, the chart will draw a connecting so prevent the broken line. In previous versions of Chart FX, it was not possible to create charts which markers where not evenly spaced without passing both X and Y data. The InterpolateHidden property now makes it possible to create non even spaced charts with only Y values. Additionally, please note that you can use the InitializeHidden property to instruct the chart to intialize all non-initialized values to a hidden value. Example To instruct the chart to draw connection lines over hidden points: chart1.Data.InterpolateHidden = true; Regards, RandyJ
  11. Hi, Yes, we have tested Chart FX 6.2 in Windows 7 and it is indeed compatible. Regards, RandyJ
  12. Unfortunately, a prebuilt generic application to develop basic sample chart templates for end users is not available. A wizard (smart task) has been included along with the chart when it is dropped onto a form (design view) which will allow you to create and customize the chart. However a prebuilt generic application is not available to this end. I apologize for the inconvenience. Regards, RandyJ
  13. Hi, Chart FX Lite was developed based on Chart FX .Net 6.2. You will probably notice a lot of similarities between the lite version and Chart FX .Net 6.2 (full version). However, Chart FX 7 is a completely different product with a different API as well. If you want to use Chart FX 7, please refer to the Migration table which is included in the Chart FX Resource Center when you install the trial version. Unfortunately, a specific document showing the differences between Chart FX .NET 6.2 and Chart FX 7 is not available, but you can refer to the links below in order to obtain detailed information on the new features available: http://www.softwarefx.com/sfxNetProducts/ChartFX/default.aspx New Features available in Chart FX 7: http://www.softwarefx.com/sfxNetProducts/ChartFX/features/default.aspx The following link provides several resources such as samples, help and documentation: http://support.softwarefx.com/ProductBase.aspx?Product=CfxNet70 In order to to configure how Chart FX will plot the data provided by the DataProvider in Chart FX 7 you need to use the Fields collection. This property is very useful when you want to control how Chart FX retrieves and displays the information from the database. For example, here is a connection made to a database with a SELECT statement. Lets say that you want the first field in the recordset (Month) to be used as a label. You would configure the datatype of that field to be a label and the others to be values. Make sure you set DataType before doing the DataAdapter.Fill(dataSet): string mySelectQuery = "SELECT Month, Projected, Sales from DemoSales"; string myConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=ChartfxLiteSamples.mdb;"; System.Data.OleDb.OleDbConnection myConnection = new System.Data.OleDb.OleDbConnection(myConnectionString); System.Data.DataSet ds = new System.Data.DataSet(); System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(mySelectQuery, myConnection); adapter.Fill(ds, "Sales"); chart1.DataSourceSettings.Fields.Add(new FieldMap("Month", FieldUsage.Label)); chart1.DataSourceSettings.Fields.Add(new FieldMap("Projected", FieldUsage.Value)); chart1.DataSourceSettings.Fields.Add(new FieldMap("Sales", FieldUsage.Value)); chart1.DataSourceSettings.DataSource = ds.Tables[0]; Regards, RandyJ
  14. Hi, You can use the Offset property which allows you to customize the point label position by configuring its coordinates. The following code sets the PointLabelOffset to 4 pixels up and 5 pixels to the right: chart1.AllSeries.PointLabels.Offset = new Point(4,5); You can also modify the pointlabel's angle by specifying the angle property. This way you can also avoid collisions. You just need to use a positive number to rotate the labels from lower left to upper right. Use negative degrees to rotate text from upper left to lower right. To set the PointLabels angle for all the series to 45: chart1.AllSeries.PointLabels.Angle = 45; You can also completely hide the pointlabel for a specific point (as in your case): chart1.Points[1,1].PointLabels.Visible = true; Regards, RandyJ
  15. Hi, It looks like the images were not properly attached. Could you please post them again? Also, please elaborate a little bit more on the problem you are having. Regards, RandyJ
  16. Hi, There is a property called "InterpolateHidden" which (when set to true) allows to draw a connecting line over missing data points. When this property is set to false, hidden points in the chart will be result in a "broken" line in the chart. When set to true, the chart will draw a connecting so prevent the broken line. In previous versions of Chart FX, it was not possible to create charts which markers where not evenly spaced without passing both X and Y data. The InterpolateHidden property now makes it possible to create non even spaced charts with only Y values. Additionally, please note that you can use the InitializeHidden property to instruct the chart to intialize all non-initialized values to a hidden value. Example To instruct the chart to draw connection lines over hidden points: [C#] chart1.Data.InterpolateHidden = true; Regards, RandyJ
  17. Unfortunately, I believe your spam filter may be blocking the automated emails sent by our Support System. To avoid any delays in the future, please make sure that all emails from softwarex.com are allowed. Regards, RandyJ
  18. Hi, We did receive your requests and we sent you a reply for both questions almost immediately. Please take a look at the following links: http://mysupport.softwarefx.com/Help/SupportTool/History.aspx?IID=9e989701-c2ca-470c-a9ca-2c30b666f9a5http://mysupport.softwarefx.com/Help/SupportTool/History.aspx?IID=ac5b5eb4-27ab-4172-bb18-58e7debc2106 Regards, RandyJ
  19. Hi, Chart FX is indeed compatible with and has been tested on different browsers such as "Firefox", "Google Chrome", "Safari" and so on. However, please note that rendering the chart as a .Net control (which includes a lot of interactive functionality) is only available for "Internet Explorer". If you use ActiveX, you will not be able to view the chart in Firefox. Please note that Firefox does not officially support ActiveX, so you need to render the chart contol as an "image". Alternatively the render format can be set to "Auto", and Chart FX will generate the most interactive format depending on the User Agent of the browser requesting the chart. If the browser is Internet Explorer with the .NET Framework installed, Chart FX will generate a .NET component. If the browser is Internet Explorer 4 or above, without the .NET Framework, an ActiveX will be generated. For the rest of the browsers, an image will be generated in Png or Jpeg format, depending on the browser's capabilities. RandyJ
  20. Hi, Please try wrapping it within a div container as follows: <div style="Z-INDEX: 1; LEFT: 353px; POSITION: absolute; TOP: 163px; height: 26px;"> <chartfx7:Chart ID="Chart1" runat="server" > </chartfx7:Chart> </div> Regards, RandyJ
  21. Please try setting the ImgTags property to "Flash" as follows: Chart1.ImgTags = "Flash"; Chart1.Export(SoftwareFX.ChartFX.Internet.Server.FileFormat.External,"C:\\temp2\\chartflash.swf"); Please remember to add a reference to the ChartFX.Writer.Flash in your project. Hope this helps. RandyJ
  22. Hi,It looks like there is an issue when specifying more than 13 decimals. We will let our development team about this issue. I apologize for the inconvenience this may cause. In order to properly track this incident, please feel free to send us an email to support at softwarefx dot com. Regards, RandyJ
  23. Hi, Our current behavior is to do per-series highlighting when there is more than 1 series and per-point highlighting with 1 series. Normally when you hover the mouse over a point marker in a multi-series chart, the whole series will highlight, however, if the point being hit has per-point attributes, instead of the series, all the points with the same per-point attributes will highlight. Regards, RandyJ
  24. Hi, Please note that Chart FX uses two series of data to create a bubble chart. The first series passed to the chart is used for the actual point values (Y Values), while the second series is used to control the size of the bubble marker. So, since you are only able to pass one series (actual points) you should not have more than one bubble at the same point. Regards, RandyJ
  25. Hi,You need to use the style property as follows: Chart1.AxisX.Style = Chart1.AxisX.Style | AxisStyles.HideText;Regards,RandyJ
×
×
  • Create New...