Jump to content
Software FX Community

RandyJ

Members
  • Posts

    126
  • Joined

  • Last visited

Posts 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,

    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
  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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 

  16. 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

  17. 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

     

    post-5588-13922409628815_thumb.jpg

  18. 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

  19. 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

     

×
×
  • Create New...