gpt4 book ai didi

wolfram-mathematica - 如何在绘图的 y 轴上显示百分比值?

转载 作者:行者123 更新时间:2023-12-04 09:55:38 25 4
gpt4 key购买 nike

在任何 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% 到 60% 而不是 0.0 到 0.6。

最佳答案

使用 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}}]

enter image description here
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}} .

关于wolfram-mathematica - 如何在绘图的 y 轴上显示百分比值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8359329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com