BookWarrior
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Andrew10 Цитата: Похоже, что Show здесь вообще не годится | очевидно да, если прямо хочется, чтобы Математика сама отрисовывала. В ней двойных осей принципиально нет. Есть график, на котором есть один набор осей, всё. Надо два набора - рисуйте два графика. Show соединяет различные функции на одном наборе осей, "показывает" внутри них, универсальным образом. Просто сама сборка из двух осей - это экономия места, это не есть функциональная (в мат смысле) необходимость, поэтому по идее её и не должно быть. Но почему вы не хотите например в Origin или где ещё, соединить выхлоп Математики? Где оси можно содединять и параллелить. Не запрещаю себе думать, что и для Математики кто-нибудь мог написать пакет для рисования всякой дряни вокруг стандартного рабора осей: двойные, тройные и т.п. Впрочем, если вам из крови нос нужно засунуть графики, возьмите Log от данных и сделайте метки логом. Засунуть-то на оси можно, что угодно. На осях степени десятки будут, например. Масштаб вы любой можете этим методом задать (в смысле как у них, с подменой Ticks), просто функцию свою отмасштабируйте сообразно. А какой пример вы пробовали? Там их три вообще-то, очень разных. Один из них даёт вроде что вам надо, как раз пакет чей-то А кодом даны такие примеры: Код: Plot[{Sin[x], 3*Sin[x]}, {x, 0, 2*Pi}, PlotStyle -> {RGBColor[1, 0, 0], RGBColor[0, 0, 1]}, Frame -> True, FrameTicks -> {Automatic, {{-3, "-3 M"}, {-2, "-2 M"}, {-1, "-1 M"}, {1, "1 M"}, {2, "2 M"}, {3, "3 M"}}, Automatic, {{-3, "-30 T"}, {-20, "-2 T"}, {-1, "-10 T"}, {1, "10 T"}, {2, "20 T"}, {3, "30 T"}}}] | Код: TwoAxisPlot[{f_, g_}, {x_, x0_, x1_}, color1_, color2_, opts : OptionsPattern[]] := Module[{f0, f1, g0, g1, gp, scale, gticks}, {f0, f1} = Options[Plot[f, {x, x0, x1}, Frame -> True, opts], PlotRange][[1, 2, 2]]; {g0, g1} = Options[gp = Plot[g, {x, x0, x1}, Frame -> True, opts], PlotRange][[1, 2, 2]]; scale[y_] := f0 + ((f1 - f0) (y - g0))/(g1 - g0); gticks = Apply[{scale[#1], ##2} &, AbsoluteOptions[gp, FrameTicks][[1, 2, 2]], {1}]; Plot[{f, scale[g]}, {x, x0, x1}, PlotRange -> 1.001 {f0, f1}, Frame -> True, FrameTicks -> {{Automatic, gticks}, {Automatic, Automatic}}, PlotStyle -> {{color1}, {color2}}, FrameStyle -> {{color1, color2}, {{}, {}}}, opts]] TwoAxisPlot[{Sin[x], 0.1 Cos[x]}, {x, -\[Pi], \[Pi]}, Red, Blue] | Не знаю, по-моему этого должно хватить для вашей задачи. |