f1 and f2 are in fact the same function as f3. One contains + 2.7^x the other - 2.7^x but if we make replacement 2.7^x - > t we see that it is the same function.
f1 = (1 - 0.2 I) ((-1 - 6 I) ((-0.1 + 0.1 I) + 2.7^x))^(-0.1 + 0.3 I) // ReIm;
f2 = (1 - 0.2 I) ((-1 - 6 I) ((-0.1 + 0.1 I) - 2.7^x))^(-0.1 + 0.3 I) // ReIm;
p1 = ParametricPlot[{f1, f2}, {x, -8, 8}]
Since the two pieces are the same functions it should be possible to plot it in single piece:
f3 = f1 /. (2.7^x -> t)
p2 = ParametricPlot[{f3}, {t, -2.7^8, 2.7^8}, PlotRange -> 2,
PlotPoints -> 500, PlotStyle -> Directive[ColorData[97, 3], Dashed]]
{Re[(1. - 0.2 I) ((-1 - 6 I) ((-0.1 + 0.1 I) + t))^(-0.1 + 0.3 I)],
Im[(1. - 0.2 I) ((-1 - 6 I) ((-0.1 + 0.1 I) + t))^(-0.1 + 0.3 I)]}
Even tough PlotPoints -> 500 was used the plot is not correct around t=0 for obvious reason - sample points around t=0 are sparsely distributed. Because ParametricPlot distribute them not in range of x or y axis but in range of parameter t.
If we change plotting range so that it is near t=0 we get correct plotting near t=0 but we are missing the region on the left that can be seen on plot p1.
p3 = ParametricPlot[{f3}, {t, -30, 30}, PlotRange -> 2,
PlotPoints -> 100, PlotStyle -> Directive[ColorData[97, 3], Dashed]]
Show[p2, p3]
To see that f1 and f2 are same as f3:
Show[p1, p2, p3]
So the question is how to plot the function f3 in range {t, -2.7^8, 2.7^8} (with single definition and single plot) so that it is of quality of plot p1 (which consist of two separate pieces).








f1 = (1 - 0.2 I) ((-1 - 6 I) ((-0.1 + 0.1 I) + 2.7^x))^(-0.1 + 0.3 I) // ReIm; f3 = f1 /. (2.7^x -> t); boundary = ArcSinh[2.7^8]; ParametricPlot[f3 /. t -> Sinh[u], {u, -boundary, boundary}]$\endgroup$PlotPoints -> 10*Floor[2.7^8]$\endgroup$2.7^50you would usePlotPoints -> 10*Floor[2.7^50]? That is not a good solution. $\endgroup$