Based on the great library OxyPlot