Jump to content
Software FX Community

JuanC

Staff
  • Posts

    863
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by JuanC

  1. The special value we use in ChartFX for WPF to "interrupt" a line is Chart.Hidden so before passing the data to the chart you might have to replace 0s with Chart.Hidden. If you are passing CLR objects you can add a property to your objects where you do this translation.

    JuanC 

  2. PowerGadgets saves gadgets user settings (position, chart attributes, etc.) in the following directory

    <UserFolder>\AppData\Roaming\Software FX, Inc\PowerGadgets\VersionNumber\Personalization 

    Please note that the AppData folder is hidden by default. Since Vista this folder is located at C:\Users\YourUserName\AppData, in XP it was located at C:\Documents and Settings\YourUserName\Application Data.

    Where VersionNumber might be 1.0 or 2.0 

    Cleanup this folder to check if the missing gadgets are caused by corrupt settings. You can also turn off personalization on a per-gadget basis in the PowerGadgets Creator.

    Regards,

    JuanC 

  3. Note that to set the font size to scale so that the percentage fits in the slice you would do

                ChartFX.WPF.Galleries.Pie pie = (ChartFX.WPF.Galleries.Pie) chart1.AllSeries.GalleryAttributes;

                pie.ScaleLabels = true; 

    There is no way to force inside labels without scaling them, please let is know if this works for your scenario.

    JuanC 

  4. To hide the axis labels (and reduce space occupied by it) you can try the following code

      chart1.PlotArea.Margin = new Thickness(0, 0, 0, 0);
      chart1.AxisY.Labels.Visibility = AxisLabelVisibility.Collapsed;
      chart1.AxisY.Grids.Major.TickMark = TickMark.None;
      chart1.AxisY.Grids.Major.TickSize = 0;
      chart1.AxisY.Grids.Minor.TickMark = TickMark.None;
      chart1.AxisY.Grids.Minor.TickSize = 0;
      chart1.AxisY.Separation = 0;

    Note that there will be a small space (about 2-3 pixels). In our next 8.1 build this should be reduced. If you are also hiding the X axis you could remove the chart's outside border so that you do not get the "double border" effect.

    Regards,

    JuanC

  5.  If you want to draw something "on top" of the plotarea, you can use the annotation extension, using this extension you can create any WPF Visuals (Rectangle, Polygon, etc.) as well as other controls (Other chart, Button, etc.) and attach it to an axis-related coordinate, e.g. the top left corner would be X = 0 and Y = MaxYValue

    Does this help?

    JuanC

  6. First you may want to change from our default glass style to use the Simple or Basic styles.

    To control the margin of the plotarea you will want to change the Chart.PlotArea.Margin property. Please note that if you do not hide the X or Y axes they will still occupy some space for the labels.

    Also instead of placing a chart as an annotation of another you could place them both on top of each other (e.g. both on the same grid cell) and change the background of the chart on top so that it does not hide the one on the back.

    Regards,

     

    JuanC 

  7.  As soon as you bind real data to the chart it will stop displaying the "random" data, this random data is there as it would be very disconcerning if you drop a chart control into VS and just get an empty rectangle.

    If you want an empty chart, you might have to set or bind the Chart.ItemsSource property to an empty collection or null.

    JuanC

  8. DataBinding is supported on some but not all of the properties of the chart. The reason for this is that for a property to support binding it has to be a DependencyProperty which has a performance/memory/implementation cost.

    Unfortunately I don't think we have a list of which properties are DPs but in each class, if you see a static property with the same name as the property + "Property" it will mean it is a DP, e.g. ChartFX.WPF.Chart.GalleryProperty implies Gallery is a DP of the Chart class.

    Most axis properties are in fact DPs if you are having problems, please try to create a simplified sample where the you can show the unexpected behavior and post the sample. This will allow us to fix any issues or point out alternatives.

    Note that most collections are not DPs, e.g. the ConditionalAttributes collection of the Chart class is not a DP, this is similar to most WPF built-in controls, for example the ColumnDefinitions property of the Grid class is not a DP.

    Regards,

    JuanC

  9. >> set the decimals I want to see on the point label (not the axis, the point in the plottable area), ideally with binding to my chart point (which is a class with Y and X + other stuff).

    An axis has two properties that allow you to set the decimals

    Axis.Labels.Decimals: This will be used in the axis labels
    Axis.DataFormat: Used when displaying point labels, tooltips, etc. for a series associated with such axis.

    JuanC 

  10. Unfortunately, if the labels are centered inside the bars, labels for small bars will be cutoff, a possibility would be to change the labels Anchor to Value and the HorizontalAlignment to Right. This will draw the labels to the right of each bars.

    We will consider adding a property to change the Anchor/HorizontalAlignment automatically when the labels do not fit. 

    JuanC

  11.  We have been prototyping adding a flag to Pie.ThumbnailStyles to allow you to show name only on the small pies. It seems to work fine with the following restrictions

    1) Animations do not look good so you would probably want to turn it off using Chart.Animation.OnPanelTransition

    2) The pie title is drawn at the top of the space for the small pie (not vertically centered)

    3) Although we have a couple of properties to allow you to change the panel used to layout the "main" pie and small pies, our default implementation does not support scrolling the small pies.

    Please let us know if this would help you with these limitations.

    Regards,

    JuanC

  12. Can you clarify what you mean by "format the PointLabelAttribute"?

    Does it mean format as in change the string format, e.g. showing a currency sign, or grouping digits, etc.

    Does it mean changing so that instead of a string something else gets displayed (e.g. a bitmap , rectangle, etc.)

    JuanC 

  13. We do not have a feature where we will skip a slice but you can set the border and fill colors to be transparent as follows

    chart1.Gallery = Gallery.Pie;chart1.Style = ChartFX.WPF.Motifs.Basic.Style;chart1.Data.Points = 4;chart1.Data.Series = 1;chart1.Data[0, 0] = 52;chart1.Data[0, 1] = 12;chart1.Data[0, 2] = 18;chart1.Data[0, 3] = 18;chart1.Points[0, 1].Fill = Brushes.Transparent;chart1.Points[0, 1].Stroke = Brushes.Transparent;

    Note that I am setting the style to be Basic as other styles might paint gradients or similar effects over the slices. 

    JuanC

  14. Note that there is a line (gray) to the right of the 40 label in the Y axis, this line is aligned with the bar.

    I can see how this could be confusing, one possibility would be to set the Axes Style property as follows

      chart1.PlotArea.AxesStyle = AxesStyle.Math; 

    Another possibility would be to turn off the feature where we make sure the space is added, note that if you turn off this feature and then show the point labels, the label for the top value might be clipped

    chart1.AxisY.AutoMargin = false;

    To create a custom grid line so that you can see that in the original chart the bar with 40 was pointed correctly

      CustomGridLine customGridLine = new CustomGridLine();   customGridLine.Value = 40;   chart1.AxisY.CustomGridLines.Add(customGridLine);

    JuanC

  15. You can combine bar with steps (or other connected gallery types such as line, area, etc.) but NOT when you use X values. If your data is equally spaced you might be able to get the chart you need by not setting the Series.BindingPathX property for both series.

    Supporting bars with X values is tricky because it is not clear how wide should the bars be. We have some code that tries to support bars with X values but when I tested combining with steps I noticed the first bar was not drawn. If you want to explore this please add this code after you set the second series gallery to bar.

      ChartFX.WPF.Galleries.Bar bar = (ChartFX.WPF.Galleries.Bar) series2.GalleryAttributes;   bar.XValues = true;   bar.XWidth = new TimeSpan(0,10,0); 

    JuanC 

  16. There is a feature were we increase the axis space a little bit so that users don't think the bar is clipped but if you show gridlines and/or create a custom gridline at 40 you should see that the top of bar perfectly matches with the 40 label.

    JuanC

  17. Please note that our bubble gallery type uses 2 series (one for the Y position of the bubble and the second one for the size of the bubble). It supports X values as well but you have to manually specify the property/column to be used in the X axis.

    Unfortunately we do not support Z values in our 3D bubble gallery.

    Regards,

    JuanC

×
×
  • Create New...