Is there a way to prevent the anti-aliasing on stepped line series? Given these are straight lines, it seems unnecessary, and makes some parts of the graph look significantly thicker than others:
Hello Campbell,
Thank you for contacting Infragistics. Please try setting the Resolution property to 0 on the chart or series, and increment by 1 as needed. If you don't see any improvements please attach a sample project demonstrating the behavior so I may investigate this further. Thank you.
Hi Michael.
Thanks for getting back to me. Unfortunately that doesn't appear to work.
Try the following:
void CreateNumericStepTimeSeriesChart(UltraDataChart chart) { // Axes var yAxis = new NumericYAxis(); var xAxis = new TimeXAxis { Label = "date", DataSource = dt2, DateTimeMemberPath = "date" };
chart.Axes.Add(xAxis); chart.Axes.Add(yAxis);
var stepLineSeries = new StepLineSeries { DataSource = dt2, ValueMemberPath = "Acct1", XAxis = xAxis, YAxis = yAxis, ShowDefaultTooltip = true, Brush = new SolidBrush(Color.Black), Resolution = 1 }; chart.Series.Add(stepLineSeries);
// Chart chart.Title = "Chart Title"; chart.Subtitle = "chart subtitle"; chart.IsHorizontalZoomEnabled = true; chart.DefaultInteraction = InteractionState.DragPan; }
with
dt2 = new AccountValueHistory();
public class AccountDateInfo { public DateTime date { get; set; }public decimal Acct1 { get; set; } public decimal Acct2 { get; set; } }
public AccountValueHistory() { this.Add(new AccountDateInfo { date = new DateTime(2023, 2, 10), Acct1 = 0, Acct2 = 30 }); this.Add(new AccountDateInfo { date = new DateTime(2023, 2, 16), Acct1 = -11.3M, Acct2 = 30}); this.Add(new AccountDateInfo { date = new DateTime(2023, 2, 25), Acct1 = 51, Acct2 = 60 }); this.Add(new AccountDateInfo { date = new DateTime(2023, 2, 26), Acct1 = 40, Acct2 = 60 }); this.Add(new AccountDateInfo { date = new DateTime(2023, 3, 1), Acct1 = 42.5M, Acct2 = 60 }); this.Add(new AccountDateInfo { date = new DateTime(2023, 3, 6), Acct1 = 30, Acct2 = 60 }); }
This results in the following chart:
I have zoomed in on sections to highlight the differences. As you can see, sometimes the width is exactly 2 pixels. Sometimes it's three, with antialiasing. I'm assuming you're trying to antialias because the line doesn't fit exactly between two values, but (a) it would be better to round to the nearest pixel to avoid the antialiasing, and (b) your antialiasing is too heavy, which makes the antialiased lines look way too thick.