フィルターのクリア

combine bar chart with a line plot

7 ビュー (過去 30 日間)
Ludovica Varriale
Ludovica Varriale 2023 年 10 月 20 日
コメント済み: Dyuman Joshi 2023 年 10 月 20 日
Hello everybody,
I have a problem to plot a bar chart with a line plot. Basically, it does not plot the line (although it is not necessary, I just need the marker).
Which is the problem? Here my function:
x=["24h","48h","72h"];
y= [0.59 0.78; 0.61 0.84; 0.74 0.98];
yyaxis left
bar(x,y)
ylim([0 1])
ylabel('Y_{EtOH} [g/g]');
legend 'no adapted' 'adapted';
C= orderedcolors("reef");
colororder(C(2:3,:));
hold on
yyaxis right
names={'24h';'48h','72h'};
Error using vertcat
Dimensions of arrays being concatenated are not consistent.
x=["24h","48h","72h"];
y2= [0.74 0.74; 0.44 0.57; 0.37 0.44];
plot(x,y2,'LineStyle',"none");
set(gca,'xtick',1:3,'xticklabel',names);

採用された回答

Dyuman Joshi
Dyuman Joshi 2023 年 10 月 20 日
plot expects the inputs as numerical values.
You can plot the values directly, for which the x-values will be the corresponding indices.
y= [0.59 0.78; 0.61 0.84; 0.74 0.98];
bar(y)
ylim([0 1])
ylabel('Y_{EtOH} [g/g]');
legend 'no adapted' 'adapted';
C = orderedcolors("reef");
colororder(C(2:3,:));
%corrected v
names={'24h';'48h';'72h'};
hold on
y2= [0.74 0.74; 0.44 0.57; 0.37 0.44];
plot(y2, '*', 'HandleVisibility', 'off');
set(gca,'xtick',1:3,'xticklabel',names);
  4 件のコメント
Ludovica Varriale
Ludovica Varriale 2023 年 10 月 20 日
Dear Dyuman, this was exactly what I was searching for!!
Thank you for helping !
Dyuman Joshi
Dyuman Joshi 2023 年 10 月 20 日
You are welcome!

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2023 年 10 月 20 日
x=["24h","48h","72h"];
y= [0.59 0.78; 0.61 0.84; 0.74 0.98];
yyaxis left
bh = bar(x,y);
ylim([0 1])
ylabel('Y_{EtOH} [g/g]');
C = orderedcolors("reef");
colororder(C(2:3,:));
hold on
yyaxis right
names={'24h';'48h';'72h'};
x=["24h","48h","72h"];
Cx = categorical(x);
y2= [0.74 0.74; 0.44 0.57; 0.37 0.44];
plot(Cx, y2, '*');
set(gca,'xtick',Cx,'xticklabel',names);
legend(bh, {'no adapted' 'adapted'}, 'location', 'north');
  2 件のコメント
Ludovica Varriale
Ludovica Varriale 2023 年 10 月 20 日
thank you!
Is there a way to have the marker on the corresponding bar? they are between the bars
Walter Roberson
Walter Roberson 2023 年 10 月 20 日
Not when you are using categorical x for the bar() call: when you do that then plot() coordinates can only be category names without any offset.
You would need to switch to using numeric x for the bar() call, knowing that your settting xticks is going to give the appropriate label. After that it would be a matter of figuring out where the bar positions are; that could either be estimated or could be done by examining the graphics objects created by the bar() call.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeBar Plots についてさらに検索

製品


リリース

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by