Clear Filters
Clear Filters

How to prevent unwanted line breaks when using sgtitle function in figure?

5 views (last 30 days)
Hello Dears,
I created a general title which is supposed to be 1 line for a figure using the sgtitle function.
sgtitle([ 'Pt: ' pt_blk(si) ', Contact: ' num2str(cont2use(ti)) ', Target: ' hem{ti} ' ' target{ti} ' ' abbrev{ti}])
for some reason, it created multiple unwanted line breaks. Can anyone help please?

Accepted Answer

Walter Roberson
Walter Roberson on 26 Sep 2023
pt_blk is a cell array so pt_blk(si) is a cell array.
['Pt: ', {'429-040 vs 041'}, ', Contact:']
ans = 1×3 cell array
{'Pt: '} {'429-040 vs 041'} {', Contact:'}
Alternately, pt_blk might be a string() array.
  3 Comments
Walter Roberson
Walter Roberson on 27 Sep 2023
Observe:
['ET' "call" 'home']
ans = 1×3 string array
"ET" "call" "home"
When you concatenate a character vector and a string array, the character vectors are converted into string arrays.
You have several choices:
  • You can strjoin the string array
  • You can use + to join the parts, such as "Pt: " + pt_blk(si) + ", Contact: ' + cont2use(ti) + ", Target: ' + hem(ti) + ' ' + target(ti) + ' ' + abbrev(ti)
  • You can use {} indexing , pt_blk{si} instead of pt_blk(si)
It looks to me as if you are likely already using {} indexing as your solution everywhere other than that one place in the code.
ET
ET on 27 Sep 2023
Many thanks, Mr. Roberson. The strjoin function works
sgtitle(strjoin([ 'Pt:' pt_blk(si) ', Contact:' num2str(cont2use(ti)) ', Target:' hem{ti} target{ti} '(' abbrev{ti} ')'] ))

Sign in to comment.

More Answers (0)

Categories

Find more on Numeric Types 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!