2011-12-02 7 views
7

Mathematicaのチャートやプロットでy軸に%値を表示するにはどうすればよいですか?プロットのy軸に%値を表示するにはどうすればよいですか?

私はこのようなデータを有していてもよい:

data = {{{2010, 8, 3}, 0.}, {{2010, 8, 31}, -0.052208}, {{2010, 9, 30}, 
    0.008221}, {{2010, 10, 29}, 0.133203}, {{2010, 11, 30}, 
    0.044557}, {{2010, 12, 31}, 0.164891}, {{2011, 1, 31}, 
    0.055141}, {{2011, 2, 28}, 0.114801}, {{2011, 3, 31}, 
    0.170501}, {{2011, 4, 29}, 0.347566}, {{2011, 5, 31}, 
    0.461358}, {{2011, 6, 30}, 0.244649}, {{2011, 7, 29}, 
    0.41939}, {{2011, 8, 31}, 0.589874}, {{2011, 9, 30}, 
    0.444151}, {{2011, 10, 31}, 0.549095}, {{2011, 11, 30}, 0.539669}}; 

[email protected] 

私はちょうどy軸が0%から60%の代わりに0.6から0.0の範囲にします。

答えて

8

使用FrameTicks -> {{left, right},{bottom, up}}

DateListPlot[data, 
      FrameTicks -> {{{{0.0, "0%"}, {0.1, "10%"}, {0.2, "20%"}, 
           {0.3, "30%"}, {0.4, "40%"}, {0.5, "50%"}, 
           {0.6, "60%"}}, None}, 
          {Automatic, None}}] 

FrameTicksのためのテーブルを作成することができ、例えば、

Table[{k/10., [email protected](10 k) <> "%"}, {k, 6}] 
(* Out[10] := {{0.1, "10%"}, {0.2, "20%"}, {0.3, "30%"}, {0.4, "40%"}, {0.5, "50%"}, {0.6, "60%"}} *) 

あなたは数字の多くはLevelScheme、で良いプロットを生成作るフリーパッケージがあることを確認してくださいする必要がある場合Mathematicaの方がはるかに簡単です。

EDIT:Jagraの提案では、データセットと希望のティックステップに基づいてティック仕様リストを作成する関数があります。データ構造は常に同じであるという前提があります。あなたの質問は任意の Mathematicaのプロットを指定するため、

ticks[step_, data_] := {{Table[{k, [email protected]@(100 k) <> "%"}, 
           {k, 
           Floor[[email protected][[All, 2]], step], 
           Ceiling[[email protected][[All, 2]], step], 
           step}], None}, 
         {Automatic, None}}; 

今、あなたはFrameTicks作品だけでは額装することを覚えて、作図機能

plot = DateListPlot[#, FrameTicks -> ticks[.1, #]] & 

を定義し、最後にこの[email protected]

のようにそれを使用することができますプロット、他のプロットはTicks -> {{x ticks},{y ticks}}を使用します。

+1

私はソリューションをより自動化するために次のことを試しました。 DateListPlot [data、 FrameTicks - > {{Table {{k/10。ToString @(10 k)<> "%"}、{k、 IntegerPart [Floor [Min @ data [}]、{Automatic、None}}]、[0、0]、[1、2]]、 – Jagra

-1

グラフィックオプションが表示されませんが、そのような可能性はありますが、番号を右に変換する中間機能を作成することができます。この関数のグラフを表示します。これは簡単に行うことができます。 幸運を祈る!

+2

申し訳ありませんが、この回答は、あいまいでほとんど情報が欠けていることを除けば、間違っています。 –

5

あなたのy軸の値が比率として与えられ、あなたが割合としてそれらをしたいと仮定すると、最も簡単な解決策は次のとおりです。

DateListPlot[{#1, 100 #2} & @@@ data] 

enter image description here

6

あなたはFrameTicksをいじる試みることができる:

enter image description here

関連する問題