Hello,
i have a custom DateTimeAxisViewModel and want to set major and minor ticks by user input. If the user sets valid values i use following code:
AutoTicks = false;
MajorDelta = TimeSpan.FromSeconds(USERINPUT);
MinorDelta = TimeSpan.FromSeconds(USERINPUT);
Everything works fine. If the user sets an invalid input i want to automatically calculate major and/or minor ticks. My idea was to use the DateTimeTickProvider and call GetMajorTicks()/GetMinorTicks() and then use the result to set the delta like in the code example above.
However GetMajorTicks()/GetMinorTicks() need IAxisParams as input. I couldn’t find IAxisParams as a member of my DateTimeAxisViewModel so i tried this:
public class CustomAxisParams : IAxisParams
{
public IRange GetMaximumRange()
{
throw new NotImplementedException();
}
public IRange VisibleRange { get; set; }
public IRange<double> GrowBy { get; set; }
public IComparable MinorDelta { get; set; }
public IComparable MajorDelta { get; set; }
public AxisParams(IRange visibleRange, IRange<double> growBy, IComparable minorDelta, IComparable majorDelta)
{
VisibleRange = visibleRange;
GrowBy = growBy;
MinorDelta = minorDelta;
MajorDelta = majorDelta;
}
}
public class CustomDateTimeAxisViewModel : DateTimeAxisViewModel
{
private TimeSpan GetAutoMajorDelta()
{
var dateTimeTickProvider = new DateTimeTickProvider();
var axisParams = new AxisParams(VisibleRange, GrowBy, MinorDelta, MajorDelta);
var majorTicks = dateTimeTickProvider.GetMajorTicks(axisParams);
if (majorTicks.Count < 2)
{
return TimeSpan.Zero;
}
// return diff between majorTicks[0] and majorTicks[1]
}
}
This does not work because GetMajorTicks() returns always an empty list. How can i achieve the desired behaviour?
Thanks for your help.
Alexander
- Alexander Lipp asked 5 years ago
Hi everyone,
I’m working on a 2D chart on Android that requires the distance between major axes to be exactly 5 millimetres. How do I configure the major axis delta/ticks or resize the chart to meet my need?
Thank you.
- Natasya Saai asked 4 years ago
- last active 4 years ago
I want to format my labels after tapping a radio button. But the major labels with the “dd mm” pattern and the minor labels with the “HH:mm” pattern. If I check the radio button in the radio button group the labels will format with the others formats. It works with TradeChartAxisLabelProvider but I can’t handle it with my own formats. What I have to use?
- Iliya Mashin asked 2 years ago
- last active 2 years ago