我希望轴上的刻度线标签以美元($)表示。
我试过了:
%set(gca, 'ZTickLabel', sprintf('$%d|', get(gca,'ZTickLabel')));
旋转图形时这不起作用(拉伸图形并添加更多标记。
我也尝试使用cur2str
将其转换为货币,但这也不起作用。
请帮忙!
答案 0 :(得分:3)
您获得未定义行为的原因是因为XTickLabel
是字符数组:
>> labels = get(gca,'XTickLabel');
>> class(labels)
ans =
char
当你将它传递给sprintf
的{{1}}格式说明符时,它需要一个十进制数 - 而不是一个字符数组 - 所以它将字符转换为它们的整数表示并打印出来。< / p>
要看到这一点,请尝试:
%d
你真正想做的是将字符数组视为字符数组:
>> sprintf('%d','1')
ans =
49
这有你想要的效果: