Effacer les filtres
Effacer les filtres

plotting title with multiple strings on one line

70 vues (au cours des 30 derniers jours)
Adam Jurhs
Adam Jurhs le 13 Mai 2022
Commenté : Dolly More le 13 Juil 2022
hi guys,
i've been searhing through the community responses and google and can't find an answer so i'll ask the question here.
i have two strings that i'd like to plot both of them on the plot title in one line. i've tried using stringEASY=strcat("a ","b") then title(stringEASY) and that works, but that's not what i have, here's what i have:
str_cell_array1 = str_cell_array(1,1) in the command window looks like a 1X1 cell array {["abc\_def.h5"]}
str_cell_array2 = str_cell_array(1,2) in the command window looks like a 1X1 cell array {["ghi\_jkl.h5"]}
if i use title("abc\_def.h5","ghi\_jkl.h5") i of course get a plot but the "ghi\_jkl.h5" is a subtitle which i don't want
so i've tried to cat the two together as
string=strcat(str_cell_array1,str_cell_array2)
which in the command window looks like string = {["abc\_def.h5" "ghi\_jkl.h5"]}
and then title(string) but that doesn't work
i've also tried string=strcat({'str_cell_array1'},{'str_cell_array2'})
and then title(string) but that also doesn't work
any hints?
Todd

Réponse acceptée

Voss
Voss le 13 Mai 2022
Modifié(e) : Voss le 13 Mai 2022
str_cell_array = {"abc\_def.h5" "ghi\_jkl.h5"};
str_title = strjoin(string(str_cell_array)," and ")
str_title = "abc\_def.h5 and ghi\_jkl.h5"
title(str_title);
figure
str_cell_array = {"abc\_def.h5" "ghi\_jkl.h5" "mno\_pqr.h5"};
str_title = strjoin(string(str_cell_array),", ")
str_title = "abc\_def.h5, ghi\_jkl.h5, mno\_pqr.h5"
title(str_title);

Plus de réponses (2)

Jonas
Jonas le 13 Mai 2022
Modifié(e) : Jonas le 13 Mai 2022
this works for me
title("abc\_def.h5" + " and " + "ghi\_jkl.h5");
a concatenated string in one line
  3 commentaires
Jonas
Jonas le 11 Juil 2022
you could abuse latex interpreter to create a table in the title, you can set fixed to each column to stretch it as far as wished
plot(1:3);
title('\centering \begin{tabular}{p{3cm} p{3cm} p{3cm}} top left & top center & top right \\ bottom left & bottom center & bottom right \end{tabular}','Interpreter','latex')
you could also set alignment per column, but then you cannot set the column width
figure; plot(1:3)
title('\begin{tabular}{lcr} top left & top center & top right \\ bottom left & bottom center & bottom right \end{tabular}','Interpreter','latex')
but you could add white space (here \hspace - horizontal space) or empty column for additional spacing
figure; plot(1:3)
title('\begin{tabular}{lcr} top left & top center & top right \\ bottom left \hspace{1cm} & bottom center & \hspace{1cm} bottom right \end{tabular}','Interpreter','latex')
Dolly More
Dolly More le 13 Juil 2022
Thank you @Jonas. It works perfect!!

Connectez-vous pour commenter.


Adam Jurhs
Adam Jurhs le 11 Juil 2022
that's pretty fancy, but latex is WAAAAY over my head, and the answer to my question has already been posted, thanks
Todd
  2 commentaires
Jonas
Jonas le 12 Juil 2022
actually my comment was just the answer to the comment of @Dolly More, I just realized it has nothing to do with your question ;-)
Dolly More
Dolly More le 13 Juil 2022
I am sorry for posting a different question here. But I didn't want to create multiple questions which were on the similar line.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Labels and Annotations dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by