How to visualize two small samples with different sizes?
By downloading the Free Wolfram Engine for Developers you may use Wolfram Language.  If you are using Python then use the Wolfram Client Library for Python to access the engine in Python.

You may use BoxWhiskerChart with Labeled to show the distribution of responses and label how may responses in each set.

I'll generate some responses for each of the two groups.

SeedRandom[123]
survey = MapThread[RandomVariate, {UniformDistribution /@ {{3, 5}, {2.5, 4}}, {6, 9}}]



{{3.91144, 4.95565, 4.88643, 4.92443, 3.6047, 3.93342}, 
 {2.59246, 3.07847, 3.14476, 3.66812, 2.57289, 3.4424, 2.91698, 2.63533, 3.81488}} 



Then plot with a number of observations label located at the "UpperFence" of each set.

BoxWhiskerChart[
 Labeled[#, "Obs: " &lt;&gt; ToString@Length@#, "UpperFence"] &amp; /@ survey,
 ChartLabels -&gt; {"Smoke free", "Smoking"},
 ChartStyle -&gt; {Orange, Purple},
 GridLines -&gt; {None, Automatic}]



  


Hope this helps.