Create grouped bar chart using figure handle

13 visualizaciones (últimos 30 días)
Christian Carstensen
Christian Carstensen el 23 de Sept. de 2018
Comentada: Christian Carstensen el 23 de Sept. de 2018
Hello mad labbers
I'm having trouble creating a grouped bar chart using figure handles.
It ends up being stacked instead of grouped when adding data to it using its handle. The two cases below illustrates the problem - A gives the intended plot, but the plot in B is stacked instead of grouped.
Does anyone if one can get plot A using a handle as in B?
x = [1 2 3];
y1 = [3 6 8];
y2 = [6 5 3];
Case A:
y = [y1; y2]';
ax = subplot(1, 2, 1);
hold(ax, 'on');
bar(ax, x, y, 'grouped')
xlabel('A')
Case B:
ax = subplot(1, 2, 2);
hold(ax, 'on')
bar(ax, x, y1, 'grouped');
bar(ax, x, y2, 'grouped');
xlabel('B')

Respuesta aceptada

jonas
jonas el 23 de Sept. de 2018
Editada: jonas el 23 de Sept. de 2018
I don't know what you mean by figure handles. However, when you call the bar function mutliple times the outputs are independent of one another and thus become stacked like in your example. What you can do to avoid this is to pad the data with nans.
ax = subplot(1, 2, 2);
hold(ax, 'on')
bar(ax, x, [y1;nan(size(y1))]', 'grouped');
bar(ax, x, [nan(size(y2));y2]', 'grouped');
xlabel('B')
  1 comentario
Christian Carstensen
Christian Carstensen el 23 de Sept. de 2018
Thank you, Jonas! Perhaps I was being a little uncareful with the wording, but I simply meant the ax object when I referred to 'figure handles'. The plural was unnecessary.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Bar Plots en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by