我希望軸上的刻度線標籤用美元($)表示。matlab繪製軸上的美元符號
我已經試過:
%set(gca, 'ZTickLabel', sprintf('$%d|', get(gca,'ZTickLabel')));
這當您旋轉圖(其拉伸曲線並增添了更多刻度線不起作用
我也試着將其轉換爲貨幣使用cur2str
,但這並不能工作。
請幫幫忙!
我希望軸上的刻度線標籤用美元($)表示。matlab繪製軸上的美元符號
我已經試過:
%set(gca, 'ZTickLabel', sprintf('$%d|', get(gca,'ZTickLabel')));
這當您旋轉圖(其拉伸曲線並增添了更多刻度線不起作用
我也試着將其轉換爲貨幣使用cur2str
,但這並不能工作。
請幫幫忙!
原因你得到未定義的行爲是因爲XTickLabel
是字符數組:
>> labels = get(gca,'XTickLabel');
>> class(labels)
ans =
char
當你通過這sprintf
的%d
格式說明,它期待一個十進制數字 - 而不是一個字符數組 - 因此它的字符轉換爲它們的整數表示和打印這些。
看到這一點,嘗試:
>> sprintf('%d','1')
ans =
49
你真正想要做的是把字符數組一樣的字符數組:
>> labels = get(gca,'XTickLabel')
labels =
0
1
2
3
4
5
6
7
>> dollar_signs = repmat('$',size(labels,1),1)
dollar_signs =
$
$
$
$
$
$
$
$
>> new_labels = [dollar_signs labels]
new_labels =
$0
$1
$2
$3
$4
$5
$6
$7
>> set(gca,'XTickLabels',new_labels)
這有你想要的效果:
謝謝。只要不旋轉3D圖形,就可以工作,從而改變軸的比例。如果你這樣做,那麼它使用錯誤的刻度標籤來表示刻度。例如'$ 10 $ 0 $ -10 $ -20 $ -30 $ -40 $ -50'會變成'$ -30 $ -40 $ -50',如果您從另一個角度查看圖表(它不正確地對應於圖)。那麼我想我不會旋轉圖表。 – Alec 2012-04-10 18:24:01
您可以將圖形刻度標籤設置爲'ZTickMode = auto',它會重置軸標籤,然後再次執行該過程。 – 2012-04-10 18:31:48
從什麼意義上說「不起作用」?你可以張貼截圖嗎? – 2012-04-10 17:16:25
@ Li-aungYip我無法發佈截圖,因爲它是財務信息。我可以進一步描述問題:Z軸顯示: 'get(gca,'ZTickLabel') -50 -40 -30 -20 -10 0 10' 然後,在運行正則表達式之後: 'sprintf ('$%d |',get(gca,'ZTickLabel')) $ 45 | $ 45 | $ 45 | $ 45 | $ 45 | $ 48 | $ 49 | $ 53 | $ 52 | $ 51 | $ 50 | $ 49 | $ 32 | $ 48 | $ 48 | $ 48 |由於某種原因,它將它轉換成這個奇怪的數字集合,然後在圖表上顯示: '$ 49 $ 48 $ 45 $ 45 $ 45 $ 45 $ 45' – Alec 2012-04-10 17:32:28
您可匿名,地點和數字,或者只是生成完全隨機的數據。重要的是圖中的座標軸。 – 2012-04-10 17:36:02