Wolfram mathematica 如何在绘图的y轴上显示%值?

Wolfram mathematica 如何在绘图的y轴上显示%值?,wolfram-mathematica,plot,mathematica-8,Wolfram Mathematica,Plot,Mathematica 8,在任何Mathematic图表或绘图中,如何显示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}, {{201

在任何Mathematic图表或绘图中,如何显示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%到60%,而不是0.0到0.6。

我看不到图形选项,这样的可能性,但您可以创建一个中间函数,将数字转换为右侧。您将显示此函数的图形。这很容易做到。
祝你好运

假设y轴值以比率形式给出,并且希望以百分比形式给出,最简单的解决方案是:

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

您可以尝试摆弄
帧标记


使用
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%"}} *)
然后像这样使用
plot@data


最后,由于您的问题指定了任何Mathematica绘图,请记住,
FrameTicks
仅适用于框架绘图,对于其他绘图,请使用
Ticks->{{x Ticks},{y Ticks}

我尝试了以下方法,以实现解决方案的自动化,因为我目前不知道绘图范围。人们可能会进一步简化它:DateListPlot[data,FrameTicks->{Table[{k/10.,ToString@(10k)“%”,{k,IntegerPart[Floor][Min@data[All,2]],.1]*10],集成件[天花板][Max@data[All,2]],.1]*10]}],None},{自动,None}}很抱歉,这个答案,除了含糊不清和几乎没有信息外,这也是大错特错的。
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, #]] &