how do i join cell array strings for plotting

1 view (last 30 days)
Adam Jurhs
Adam Jurhs on 1 Feb 2023
Edited: Jan on 1 Feb 2023
hi,
i have a 2 by 3 cell array. the rows looks like:
{["abc\_111"]} {["def\_111"]} {["ghi\_111"]}
{["abc\_123"]} {["abc\_456"]} {["abc\_789"]}
what i think i want to do is join all the elements in each row into a column so that i can use them in making a plot with set(gca, 'xticklabels',joined_string). i think the new joined_sting should look like this
{["abc\_111\_def\_111\_ghi\_111"]}
{["abc\_123\_abc\_456\_abc\_789"]}
i'm both not sure if this is the right way to do this or how to do this. i've tried join and i keep gettign error messages
  1 Comment
Jan
Jan on 1 Feb 2023
Edited: Jan on 1 Feb 2023
The input format is strange: Strings inside a cell array? Either use a string array, or a "cell string", which is the historical term for a cell or char vectors. A cell of strings combines the drawbacks of both versions.

Sign in to comment.

Answers (1)

Jan
Jan on 1 Feb 2023
Edited: Jan on 1 Feb 2023
Dicide to use a better input format. Either a cell string:
C = {'abc\_111', 'def\_111', 'ghi\_111'; ...
'abc\_123', 'abc\_456', 'abc\_789'};
Or a string array:
S = ["abc\_111", "def\_111", "ghi\_111"; ...
"abc\_123", "abc\_456", "abc\_789"];
Then:
result = join(C, '\_', 2)
result = 2×1 cell array
{'abc\_111\_def\_111\_ghi\_111'} {'abc\_123\_abc\_456\_abc\_789'}
% or
result = join(S, '\_', 2)
result = 2×1 string array
"abc\_111\_def\_111\_ghi\_111" "abc\_123\_abc\_456\_abc\_789"

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!