Adding DataTipRows - I can't set VALUE of new DataTipRows

7 views (last 30 days)
p = trisurf(triangles,Points(:,1), Points(:,2), Points(:,3))
Now, I would like to add new DataTipRows:
>> Labels = repmat({'LL'},size(p.XData,1),size(p.XData,2)); % Creates cell array in same size with Xdata
row = dataTipTextRow('L',Labels,'auto');
p.DataTipTemplate.DataTipRows(end+1) = row;
Error using matlab.graphics.datatip.DataTipTemplate/set.DataTipRows
Value must be compatible with the data source.
>> size(triangles)
ans = 1527252 3
  1 Comment
Vamsi Krishna Bandaru
Vamsi Krishna Bandaru on 28 Mar 2023
I am not sure if this qualifies as an answer, therefore i am leaving it as a comment
I got a similar error a while back and the issue was that the data type of my 'value' was single and that was not supported. when i changed it to double it worked. In your case, it might be something similar. try using a string instead of a charachter vector.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 29 Mar 2023
The 'value' (second parameter) to dataTipTextRow must be character vector | string scalar | vector | function handle .
You cannot use the parameter to give a literal value per row. You can however specify
@(x) repmat({'LL'}, size(x))

Categories

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

Community Treasure Hunt

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

Start Hunting!