SeedRandom[1]
{data1, data2} = {RandomReal[{0, 1.5}, 1000], RandomReal[{0, 0.01}, 1000]};
You can Rescale
data2
to have the same scale as data1
and construct the correct frame ticks for the right edge using Charting`FindTicks
:
DistributionChart[{data1, Rescale[data2, MinMax @ data2, MinMax @ data1]},
FrameTicks -> {{Automatic,
Charting`FindTicks[MinMax @ data1, MinMax @ data2][## & @@ MinMax[data1]]},
{None, None}}]

To get the correct tooltips for data2
, we can extract the tooltip from the DistributionChart
with original data2
as input and use it as the tooltip for the rescaled data2
:
tooltip2 = Cases[DistributionChart[{data2}], Tooltip[_, t_] :> t, All][[1]];
DistributionChart[{data1,
Tooltip[Rescale[data2, MinMax @ data2, MinMax @ data1], tooltip2]},
FrameTicks -> {{Automatic,
Charting`FindTicks[ MinMax@data1, MinMax@data2][## & @@ MinMax[data1]]},
{None, None}}]

Alternatively, you can use logarithmic scaling:
DistributionChart[{data1,data2}, ScalingFunctions -> "Log"]
