2012-04-10 16 views
0

軸上のティックマークのラベルをドル($)で表示することをお勧めします。軸上にmatlabプロットドル記号

私が試した:あなたは、グラフを伸ばし、より目盛りを追加して、グラフを(回転させたときに

%set(gca, 'ZTickLabel', sprintf('$%d|', get(gca,'ZTickLabel'))); 

これは動作しません

私はまた、通貨に変換しようとしましたcur2strを使用して、それはどちらか動作しません。

が助けてください!

+0

どのような意味で「機能しない」のですか?スクリーンショットを投稿できますか? –

+0

@ Li-aungYip金融情報であるため、スクリーンショットを投稿できません。私はさらに問題を説明することができます:Z軸表示: 'get(gca、 'ZTickLabel') -50 -40 -30 -20 -10 0 10' 次に正規表現を実行した後: ' sprintf $ 45 | $ 45 | $ 45 | $ 45 | $ 45 | $ 48 | $ 49 | $ 53 | $ 52 | $ 51 | $ 50 | $ 49 | $ 32 | $ 48 | $ 48 | $ 48 | '$ 49 $ 48 $ 45 $ 45 $ 45 $ 45' – Alec

+0

名前を匿名で書くことができます。 、場所、および数値を入力するか、完全にランダムなデータを生成するだけです。重要なことは、グラフの軸です。 –

答えて

3

理由を、あなたが取得している未定義の動作があるので、XTickLabel文字配列である: - ない文字の配列 -

>> labels = get(gca,'XTickLabel'); 
>> class(labels) 

ans = 

char 

あなたはsprintf%d書式指定子にこれを渡し

、それは単一小数を期待していますので、それは彼らの整数表現に文字を変換し、それらを印刷します。これを確認するには

、試してみてください。

>> 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) 

これは、あなたが望む効果があります。

>> sprintf('%d','1') 

ans = 

49 

は、あなたが本当にやりたいことは、文字列のような文字配列を扱うですenter image description here

+0

ありがとうございます。これは3Dグラフを回転させていない限り動作し、軸のスケールを変更します。それを行うと、間違った目盛ラベルを使って目盛りを表します。たとえば、 '$ 10 $ 0 $ -10 $ -20 $ -30 $ -40 $ -50'は、別の角度からグラフを見ると、' $ -30 $ -40 $ -50'になります。グラフ)。私はグラフを回転させないだろうと思う。 – Alec

+0

グラフの目盛りのラベルを 'ZTickMode = auto'に設定すると、軸のラベルをリセットして、再度手順を実行できます。 –