You can use RadCartesianChart with a BarSeries to display the data. You can use the OriginValue property of the series to determine the value from where the bars will start drawing. For example, if the origin value is 0, the data points with values lower than the origin (negative values) will be drawn from 0 to the negative value. And data points with bigger values than the origin value will be drawn from 0 to the positive value.
To determine the color of the bar you can use the series' DefaultVisualStyle property along with a IValueConverter to choose the proper color.
You can find such visualization demonstrated in the attached project.
Telerik by Progress
Do you need help with upgrading your WPF project? Try the Telerik API Analyzer and share your thoughts!