3 added 82 characters in body
source | link

Here is a method using scaling. The tangent is drawn at x = 0.8.

f[t_] := (1 - t)^(-0.5);
Print@LogPlot[f[t], {t, 0, 1},
   PlotRange -> {{0, 1}, {0.66, 20}},
   Frame -> True, PlotLabel -> "Original plot",
   AspectRatio -> 1];
rescale[i_] := Exp[(i - 1) Log[2.]];
Print[Column[{"Rescaling function: Exp[(i-1) Log[2.]]",
    Row[{"E.g. ", Table[{i, rescale[i]}, {i, 0, 4}]}]}]];
normLog[n_] := 1 + Log[n]/Log[2.];
normf[t_] := normLog[f[t]];
Print@Plot[normf[t], {t, 0, 1},
   PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
   Frame -> True, PlotLabel -> "Rescaled plot",
   AspectRatio -> 1];
ndf = D[normf[t], t];
x = 0.8;
m = ndf /. t -> x;
y = normf[x];
c = y - m x;
x2 = x - 0.18;
y2 = m x2 + c;
x3 = x + 0.18;
y3 = m x3 + c;
newticks = {#, rescale[#]Round@rescale[#]} & /@ Range[6];
Print@Show[Plot[normf[t], {t, 0, 1},
    PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
    Frame -> True, PlotLabel -> "Plot with tangent",
    AspectRatio -> 1],
   Graphics[Arrow[{{x2, y2}, {x, y}, {x3, y3}}]],
   FrameTicks -> {Automatic, newticks}];

enter image description hereenter image description here

Here is a method using scaling. The tangent is drawn at x = 0.8.

f[t_] := (1 - t)^(-0.5);
Print@LogPlot[f[t], {t, 0, 1},
   PlotRange -> {{0, 1}, {0.66, 20}},
   Frame -> True, PlotLabel -> "Original plot",
   AspectRatio -> 1];
rescale[i_] := Exp[(i - 1) Log[2.]];
Print[Column[{"Rescaling function: Exp[(i-1) Log[2.]]",
    Row[{"E.g. ", Table[{i, rescale[i]}, {i, 0, 4}]}]}]];
normLog[n_] := 1 + Log[n]/Log[2.];
normf[t_] := normLog[f[t]];
Print@Plot[normf[t], {t, 0, 1},
   PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
   Frame -> True, PlotLabel -> "Rescaled plot",
   AspectRatio -> 1];
ndf = D[normf[t], t];
x = 0.8;
m = ndf /. t -> x;
y = normf[x];
c = y - m x;
x2 = x - 0.18;
y2 = m x2 + c;
x3 = x + 0.18;
y3 = m x3 + c;
newticks = {#, rescale[#]} & /@ Range[6];
Print@Show[Plot[normf[t], {t, 0, 1},
    PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
    Frame -> True, PlotLabel -> "Plot with tangent",
    AspectRatio -> 1],
   Graphics[Arrow[{{x2, y2}, {x, y}, {x3, y3}}]],
   FrameTicks -> {Automatic, newticks}];

enter image description here

Here is a method using scaling. The tangent is drawn at x = 0.8.

f[t_] := (1 - t)^(-0.5);
Print@LogPlot[f[t], {t, 0, 1},
   PlotRange -> {{0, 1}, {0.66, 20}},
   Frame -> True, PlotLabel -> "Original plot",
   AspectRatio -> 1];
rescale[i_] := Exp[(i - 1) Log[2.]];
Print[Column[{"Rescaling function: Exp[(i-1) Log[2.]]",
    Row[{"E.g. ", Table[{i, rescale[i]}, {i, 0, 4}]}]}]];
normLog[n_] := 1 + Log[n]/Log[2.];
normf[t_] := normLog[f[t]];
Print@Plot[normf[t], {t, 0, 1},
   PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
   Frame -> True, PlotLabel -> "Rescaled plot",
   AspectRatio -> 1];
ndf = D[normf[t], t];
x = 0.8;
m = ndf /. t -> x;
y = normf[x];
c = y - m x;
x2 = x - 0.18;
y2 = m x2 + c;
x3 = x + 0.18;
y3 = m x3 + c;
newticks = {#, Round@rescale[#]} & /@ Range[6];
Print@Show[Plot[normf[t], {t, 0, 1},
    PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
    Frame -> True, PlotLabel -> "Plot with tangent",
    AspectRatio -> 1],
   Graphics[Arrow[{{x2, y2}, {x, y}, {x3, y3}}]],
   FrameTicks -> {Automatic, newticks}];

enter image description here

2 added 82 characters in body
source | link

Here is a method using scaling. The tangent is drawn at x = 0.8.

f[t_] := (1 - t)^(-0.5);
Print@LogPlot[f[t], {t, 0, 1},
   PlotRange -> {{0, 1}, {0.66, 20}},
   Frame -> True, PlotLabel -> "Original plot"];plot",
   AspectRatio -> 1];
rescale[i_] := Exp[(i - 1) Log[2.]];
Print[Column[{"Rescaling function: Exp[(i-1) Log[2.]]",
    Row[{"E.g. ", Table[{i, rescale[i]}, {i, 0, 4}]}]}]];
normLog[n_] := 1 + Log[n]/Log[2.];
normf[t_] := normLog[f[t]];
Print@Plot[normf[t], {t, 0, 1},
   PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
   Frame -> True, PlotLabel -> "Rescaled plot"];plot",
   AspectRatio -> 1];
ndf = D[normf[t], t];
x = 0.8;
m = ndf /. t -> x;
y = normf[x];
c = y - m x;
x2 = x - 0.2;18;
y2 = m x2 + c;
x3 = x + 0.2;18;
y3 = m x3 + c;
newticks = {#, rescale[#]} & /@ Range[6];
Print@Show[Plot[normf[t], {t, 0, 1},
    PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
    Frame -> True, PlotLabel -> "Plot with tangent"]tangent",
   Graphics[Line[ AspectRatio -> 1],
   Graphics[Arrow[{{x2, y2}, {x, y}, {x3, y3}}]],
   FrameTicks -> {Automatic, newticks}];

enter image description hereenter image description here

Here is a method using scaling. The tangent is drawn at x = 0.8.

f[t_] := (1 - t)^(-0.5);
Print@LogPlot[f[t], {t, 0, 1},
   PlotRange -> {{0, 1}, {0.66, 20}},
   Frame -> True, PlotLabel -> "Original plot"];
rescale[i_] := Exp[(i - 1) Log[2.]];
Print[Column[{"Rescaling function: Exp[(i-1) Log[2.]]",
    Row[{"E.g. ", Table[{i, rescale[i]}, {i, 0, 4}]}]}]];
normLog[n_] := 1 + Log[n]/Log[2.];
normf[t_] := normLog[f[t]];
Print@Plot[normf[t], {t, 0, 1},
   PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
   Frame -> True, PlotLabel -> "Rescaled plot"];
ndf = D[normf[t], t];
x = 0.8;
m = ndf /. t -> x;
y = normf[x];
c = y - m x;
x2 = x - 0.2;
y2 = m x2 + c;
x3 = x + 0.2;
y3 = m x3 + c;
newticks = {#, rescale[#]} & /@ Range[6];
Print@Show[Plot[normf[t], {t, 0, 1},
    PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
    Frame -> True, PlotLabel -> "Plot with tangent"],
   Graphics[Line[{{x2, y2}, {x, y}, {x3, y3}}]],
   FrameTicks -> {Automatic, newticks}];

enter image description here

Here is a method using scaling. The tangent is drawn at x = 0.8.

f[t_] := (1 - t)^(-0.5);
Print@LogPlot[f[t], {t, 0, 1},
   PlotRange -> {{0, 1}, {0.66, 20}},
   Frame -> True, PlotLabel -> "Original plot",
   AspectRatio -> 1];
rescale[i_] := Exp[(i - 1) Log[2.]];
Print[Column[{"Rescaling function: Exp[(i-1) Log[2.]]",
    Row[{"E.g. ", Table[{i, rescale[i]}, {i, 0, 4}]}]}]];
normLog[n_] := 1 + Log[n]/Log[2.];
normf[t_] := normLog[f[t]];
Print@Plot[normf[t], {t, 0, 1},
   PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
   Frame -> True, PlotLabel -> "Rescaled plot",
   AspectRatio -> 1];
ndf = D[normf[t], t];
x = 0.8;
m = ndf /. t -> x;
y = normf[x];
c = y - m x;
x2 = x - 0.18;
y2 = m x2 + c;
x3 = x + 0.18;
y3 = m x3 + c;
newticks = {#, rescale[#]} & /@ Range[6];
Print@Show[Plot[normf[t], {t, 0, 1},
    PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
    Frame -> True, PlotLabel -> "Plot with tangent",
    AspectRatio -> 1],
   Graphics[Arrow[{{x2, y2}, {x, y}, {x3, y3}}]],
   FrameTicks -> {Automatic, newticks}];

enter image description here

1
source | link

Here is a method using scaling. The tangent is drawn at x = 0.8.

f[t_] := (1 - t)^(-0.5);
Print@LogPlot[f[t], {t, 0, 1},
   PlotRange -> {{0, 1}, {0.66, 20}},
   Frame -> True, PlotLabel -> "Original plot"];
rescale[i_] := Exp[(i - 1) Log[2.]];
Print[Column[{"Rescaling function: Exp[(i-1) Log[2.]]",
    Row[{"E.g. ", Table[{i, rescale[i]}, {i, 0, 4}]}]}]];
normLog[n_] := 1 + Log[n]/Log[2.];
normf[t_] := normLog[f[t]];
Print@Plot[normf[t], {t, 0, 1},
   PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
   Frame -> True, PlotLabel -> "Rescaled plot"];
ndf = D[normf[t], t];
x = 0.8;
m = ndf /. t -> x;
y = normf[x];
c = y - m x;
x2 = x - 0.2;
y2 = m x2 + c;
x3 = x + 0.2;
y3 = m x3 + c;
newticks = {#, rescale[#]} & /@ Range[6];
Print@Show[Plot[normf[t], {t, 0, 1},
    PlotRange -> {{0, 1}, normLog /@ {0.66, 20}},
    Frame -> True, PlotLabel -> "Plot with tangent"],
   Graphics[Line[{{x2, y2}, {x, y}, {x3, y3}}]],
   FrameTicks -> {Automatic, newticks}];

enter image description here