Jump to content
Software FX Community

JuanC

Staff
  • Posts

    863
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by JuanC

  1. In ChartFX for WPF the palette is an object, the documentation is out of date. You can find the builtin palettes in the ChartFX.WPF.Palettes static class. If your build contains just one or two palettes please send an email to wpf at softwarefx dot com and request a hotfix. Regards, JuanC
  2. You need to set the Axis Position property to Far to move an axis to the opposite position (Right for a Y axis, Top for an X axis). chart1.AxisY.Position = AxisPosition.Far;Regards, JuanC
  3. If you want to "highlight" one of the points in the line you can do so using the Chart.Points property. This allows you to change the marker shape, size, color, etc. If you draw a marker on a specific XY but this is not one of the points in the line, you will probably use the Annotation extension. This extension allows you to create WPF visuals and attach them to a logical XY position inside our plot area. If you wanted to do this in code it would be something like this: ChartFX.WPF.Annotation.Annotations annotations = new ChartFX.WPF.Annotation.Annotations();Rectangle r = new Rectangle();r.Width = 10;r.Height = 10;r.Fill = Brushes.Red;r.Stroke = Brushes.Black; ChartFX.WPF.Annotation.Annotations.SetAttachX(r, 2.0);ChartFX.WPF.Annotation.Annotations.SetAttachY(r, 40.0); annotations.Children.Add®; chart1.Extensions.Add(annotations); Regards, JuanC
  4. We have written a Rose extension for our WPF chart that you can now test. It supports some of the features we thought could be useful (e.g. stacked, drawing bars or slices, etc.) but there are still some features not supported (e.g. PointLabels). Please send a message to wpf at softwarefx dot com to request a hotfix including this new assembly. Regards, JuanC
  5. Please send an email to wpf at softwarefx dot com to request a hotfix, we have a new build that should fix this issue. Regards, JuanC
  6. Because we support visuals to represent a series (using the Series.ContentTemplate) property it is not possible to include the series in our built-in format, in previous versions (.NET WinForms, ASP.NET) our default Format was something like "%s\n%v" so if you changed the format you could control whether the series name was visible or not. With our new approach you will have to change the template used for the Tooltips. You can do so by modifying ToolTips.Template as follows < DataTemplate x:Key="MyToolTip"> <TextBlock Text="{Binding Path=ToolTip}" /></DataTemplate>chart1.AllSeries.ToolTips.Template = ( DataTemplate) FindResource("MyToolTip");Regards, JuanC
  7. SeriesAttributes derives from DispatcherObject which gives it thread-affinity. The reason why SeriesAttributes derive from this class is that in order to allow you to create bindings between your UI and a Series it has to be either a FrameworkElement or a FrameworkContentElement. I would recommend (as Dave did) you do your calculations/data retrieval on a different thread but then pass the data (and create additional series) on your UI thread. If you can create a sample application that shows ChartFX not handling this correctly please send it to us. Regards, JuanC
  8. Yes, this is the expected behavior. To reuse the same data value you can append an integer index, for example "%v1 %v1 %v1" will display the hovered value 3 times. Note that the index is 1-based. JuanC
  9. We were unable to reproduce this issue, are you setting BindingPathX with an existing CLR property in your pie chart? We would appreciate if you can post or send us a small sample (XAML + code) that duplicates this issue. Regards, JuanC
  10. Can you tell use when is the code that adds the data points being executed? Do you run in on the Loaded event for your Window? In a button? In a separate thread? Regards, JuanC
  11. I forgot to say that if you use the XAML approach you need the following namespace at the root element in your xaml xmlns:cfxGalleries="clr-namespace:ChartFX.WPF.Galleries;assembly=ChartFX.WPF"JuanC
  12. Each of our gallery objects support specialization, in the case of pie, we have a couple of properties including the one you need. In code you would have to do chart1.Gallery = Gallery.Pie;ChartFX.WPF.Galleries.Pie pieAttributes = (ChartFX.WPF.Galleries.Pie) chart1.AllSeries.GalleryAttributes;pieAttributes.LabelsInside = false;Note that the cast to ChartFX.WPF.Galleries.Pie will throw if you have not set the Gallery to Pie beforehand. If you have multiple series they will share the same attributes but you can also create Pie objects and assign them on a per-series basis. You can also do it in XAML as follows < cfx:Chart x:Name="chart1"> <cfx:Chart.AllSeries> <cfx:AllSeriesAttributes> <cfx:AllSeriesAttributes.GalleryAttributes> <cfxGalleries:Pie LabelsInside="false"/> </cfx:AllSeriesAttributes.GalleryAttributes> </cfx:AllSeriesAttributes> </cfx:Chart.AllSeries></cfx:Chart>PS: There is a sizing issue with small charts when using outside labels because we have an alternate property that controls how small should the plotarea result. If you experience label clipping you might need to do this chart1.PlotArea.MinSize = 0; Regards, JuanC
  13. Is this something you (or others reading this post) think we should support? Should we assume local or UTC datetimes? Regards, JuanC
  14. You can change (in both code or XAML) the label for a particular point or series by using the following code chart1.AllSeries.PointLabels.Format = "Value %v"; chart1.AllSeries.PointLabels.Visibility = Visibility.Visible;Note that most of the tokens you can use are described here and these are the same tokens you can use when using the ToolTipConverter. The ToolTipConverter approach is useful if you want to change the template for your labels (e.g. if you want to display an image on each point label) but you want to use our formatting settings, e.g. %v will honor the AxisY.DataFormat settings related to format (Currency, etc.) number of decimals and other settings. Regards, JuanC
  15. To change the visibility of the PointLabels you can do chart1.AllSeries.PointLabels.Visibility = Visibility.Visible; Note that you can do this for AllSeries, for a particular series or for a specific marker using the Points property. Regards, JuanC
  16. >> About the dummy Series. If your axis always goes from midnight to midnight you should be able to change the X axis Min and Max to force that range. >> About the end of the X axis exceeding your max by 2 hours. This sounds like a possible mismatch between time zones. Can you expand on how are you passing the data to the chart? Are you using DataTable? LinQ? CLR objects? XML? Regards, JuanC
  17. We have fixed this exception although some 3D charts are still not rendering correctly at design time. You can request a hotfix by sending an email to wpf at softwarefx dot com Regards, JuanC
  18. Can you please send us a sample app that duplicates this issue? If this is not possible, please send us details about the settings applied to the chart (both XAML and code) as well as the data that seems to trigger this behavior. Regards, JuanC
  19. We do not support rose charts "natively". We do support the concept of gallery extensions which we can plug into our core, we will evaluate rose charts for possible inclusion in future builds as one of these extensions, do you also use other variants of rose charts in your current app? e.g. - Multi Series - Stacked - Combination with other gallery types By wrinting an extension as opposed to a "core" supported gallery we can ignore certain combinations/properties until they are requested by other customers as opposed to trying to support all of our current API. Regards, JuanC
  20. We have fixed this issue in our internal build so either the Labels.Format/CustomFormat will be honored when reading date labels as strings. Please send a message to wpf at softwarefx dot com to request a hotfix. Regards, JuanC
  21. The default layout inside a chart is a dock panel so if you want to move the legend to the left you would write DockPanel.SetDock(chart1.LegendBox, Dock.Left); Please note that the HorizontalAlignment will be honored if you move the legend to the Top/Bottom Regards, JuanC
  22. We have a build that fixes this issue, please send a message to wpf at softwarefx dot com to request a hotfix. Regards, JuanC
  23. You can provide new text or you can provide a new data template, e.g. to change the text in code you would write the following chart1.MessageTable["NoData"] = "Downloading data, please wait..."; To change the data template in XAML you can do this <cfx:Chart.MessageTable> <cfx:ContentTableItem Key="NoData"> <DataTemplate> <StackPanel Orientation="Horizontal"> <Rectangle Width="16" Height="16" Fill="Red"/> <TextBlock Text="Empty Chart"/> </StackPanel> </DataTemplate> </cfx:ContentTableItem> </cfx:Chart.MessageTable> Regards, JuanC
  24. Please note that to use the suggested approach you have to make sure that - XYMeasure fields and properties are nullable, i.e. double? - You must be using ChartFX.WPF build 3093 or later, you can request a hotfix sending a message to wpf at softwarefx dot com Regards, JuanC
  25. We have fixed this issue, note that in the fixed build you will get a "No Data Available" message which is the same behavior you would get in a 2D chart. This message is customizable (both as a string or replacing it with xaml content) You can request a hotfix by sending a message to wpf at softwarefx dot com This forum is the preferred way to report bugs as well as to request help. Regards, JuanC
×
×
  • Create New...