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

16 次查看(过去 30 天)
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?

采纳的回答

Walter Roberson
Walter Roberson 2023-9-26
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 个评论
Walter Roberson
Walter Roberson 2023-9-27
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 2023-9-27
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} ')'] ))

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by