7

Mathematicaのチャートやプロットで、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}};

DateListPlot@data

y軸を0.0から0.6ではなく0%から60%の範囲にしたいだけです。

4

4 に答える 4

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., ToString@(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で優れたプロットを簡単に作成できる無料のパッケージです。

編集:Jagraの提案によると、ここでは、データセットに基づいて必要なティックステップでティック仕様リストを作成する関数があります。データ構造は常に同じであると想定しています。

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

これで、プロット関数を定義できます

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

このように使用しますplot@data

最後に、あなたの質問はMathematicaプロットを指定FrameTicksているので、他のプロットではを使用するため、フレーム化されたプロットでのみ機能することを覚えておいてくださいTicks -> {{x ticks},{y ticks}}

于 2011-12-02T17:27:32.883 に答える
6

FrameTicksあなたは:をいじってみることができます

ここに画像の説明を入力してください

于 2011-12-02T17:24:09.310 に答える
5

y軸の値が比率で示され、パーセンテージで表示したい場合、最も簡単な解決策は次のとおりです。

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

ここに画像の説明を入力してください

于 2011-12-02T17:17:38.240 に答える
-1

グラフィックオプションなどはわかりませんが、数値を右に変換する中間関数を作成できます。この関数のグラフを表示します。これは簡単に行うことができます。幸運を!

于 2011-12-02T16:38:05.990 に答える