PlotJuggler has this capability now with the lua scripting feature: https://github.com/facontidavide/Plot... though graph_rviz_plugin is much more straight-forward (you can add it to an .rviz file, launch that .rviz file from the command line or from a launch file and it will display though requires clicking the 'start' button on each plot, plotjuggler requires many clicks and selections to bring up a live display)
Duplicating much of the answer there:
Global
new_series = MutableScatterXY.new("trajectory_XY")
function
new_series:clear()
index = 0
while(true) do
str = string.format("/mobile_base/yaw_0/data.%d", index)
series_yaw = TimeseriesView.find( str )
if series_yaw == nil then break end
yaw = series_yaw:atTime(tracker_time)
new_series:push_back(index, yaw)
index = index + 1
end

(Getting the hard-coded topic out of there is easy, turn this into one of the library functions with a topic as an argument:
function CreateSeriesFromMultiArray1D(new_series, topic, timestamp)
-- new_series = MutableScatterXY.new(series_name)
new_series:clear()
index = 0
while(true) do
str = string.format("%s/data.%d", topic, index)
series_y = TimeseriesView.find( str )
if series_y == nil then break end
y = series_y:atTime(tracker_time)
new_series:push_back(index, y)
index = index + 1
end
end
Global:
yaw_series = MutableScatterXY.new("yaw")
function:
CreateSeriesFromMultiArray1D(yaw_series, "/mobile_base/yaw_0", tracker_time)
But I don't see a one-step way to drag a multiarray onto the graph array and see the plot, some cut and paste and typing in various text boxes is required.
)
It doesn't look hard to have additional rows of data that are plotted in parallel or become the x axis (the example library function shows that) or anything at all, so the flexibility is very high.
The scripts appear to be stuffed into ~/.config/PlotJuggler/PlotJuggler-3.ini
as strings so the workflow of developing new scripts, checking them into source control and deploying them onto new systems looks awkward, and the scripts have to be worked on in the provided text box and not your text editor of choice (I'll follow up in the plotjuggler q&a about these).