I agree d3 is confusing at the start, especially the data join concept and method chaining. But once you put enough effort to understand exactly what each function does (through experimenting with browser inspector), it becomes as easy to use as jQuery.