The best interactive graphs I've used are 3rd party libraries that generate svg and have hooks for implementing your own logic on mouse/keyboard events. In past projects, I've used dygraph, Highcharts, Google, and plotly, as well as rolled my own using just D3js. All of these libraries can be easily integrated into node-red using the ui_template nodes. This provides an Angular wrapper (with $scope so the graph can interact with node-red flows) around whatever graphing library you decide to use.
Of course, if you don't want to incorporate a javascript library and manage the interactions, you can use the ui_chart node (which is based on the chartjs library), or you can install node-red-contrib-graphs, which has a pluggable graph feature (defaults to dygraph library). However, you will be more limited to whatever interactions are already coded into these nodes. For instance, not all of the input options to chartjs are exposed in the ui_chart node wrapper.
Either way, there are lots of examples in this mailing list group (as well as the now mostly quiescent "Node-RED UI" group) and many people that are willing to provide answers and code samples.