\documentclass[tikz,border=10pt]{standalone}
\usepackage{graphicx}

\begin{document}
\begin{tikzpicture}[font=\sffamily\tiny]

\foreach \x in {-20,-15,...,55} {
  \draw (\x/10, 1pt) -- (\x/10, 4pt);
  \node at (\x/10, -4pt) {\x};
}

\def\xmin{-17.7109022}
\def\xmax{-6.2124275}
\def\n{13}
\pgfmathsetmacro{\w}{(\xmax-\xmin)/\n}
% высота одного блока
\def\cell{12pt}


\foreach \i/\v in {
1/1,2/0,3/0,4/1,5/4,6/5,7/6,8/10,9/8,10/6,11/4,12/3,13/2} 
{
  \pgfmathsetmacro{\xleft}{(\xmin + (\i-1)*\w)/10}
  \pgfmathsetmacro{\xright}{(\xmin + \i*\w)/10}
  \pgfmathsetmacro{\h}{\v*0.04}

% ======== особая обработка 2-го интервала ========
  \ifnum\i=2
     % пример: красный пустой столбик
  \draw[] (\xleft,10pt-6pt) rectangle (\xright,10pt-6pt);
  \else
  % ======== особая обработка 3-го интервала ========
     \ifnum\i=3
        % пример: заливка другим цветом
  \draw[] (\xleft,10pt-6pt) rectangle (\xright,10pt-6pt);
     \else
  % ======== обычная обработка всех остальных ========
  %\draw[] (\xleft,10pt) rectangle (\xright,10pt*\h*40);
  \draw[] (\xleft,10pt-6pt) rectangle (\xright, 10pt-6pt + \cell*\v);
  % разбиение на клетки
\foreach \k in {1,...,\v} {
  \draw (\xleft, 10pt-6pt + \cell*\k) -- (\xright, 10pt -6pt+ \cell*\k);
}
     \fi
  \fi

}


\def\xmina{30.7334647}
\def\xmaxa{50.1256323}
\def\na{10}
\pgfmathsetmacro{\wa}{(\xmaxa-\xmina)/\na}
% высота одного блока
\def\cella{6pt}


\foreach \i/\v in {
1/6,2/5,3/10,4/5,5/9,6/7,7/4,8/2,9/1,10/1} 
{
  \pgfmathsetmacro{\xleft}{(\xmina + (\i-1)*\wa)/10}
  \pgfmathsetmacro{\xright}{(\xmina + \i*\wa)/10}
  \pgfmathsetmacro{\ha}{\v*0.04}

  % ======== обычная обработка всех остальных ========
  \draw[] (\xleft,10pt-6pt) rectangle (\xright, 10pt -6pt+ \cella*\v);
  % разбиение на клетки
\foreach \k in {1,...,\v} {
  \draw (\xleft, 10pt -6pt+ \cella*\k) -- (\xright, 10pt -6pt+ \cella*\k);
}

}

\def\ttop{2.5cm}


\foreach \x in {15,20,...,30} {
  \draw (\x/10, \ttop+1pt) -- (\x/10, \ttop +   4pt);
  \node at (\x/10, \ttop -4pt) {\x};
}


\def\xminb{13.1562711	}
\def\xmaxb{32.94133}
\def\nb{11}
\pgfmathsetmacro{\wb}{(\xmaxb-\xminb)/\nb}
% высота одного блока
\def\cellb{6pt}


\foreach \i/\v in {
1/2,2/2,3/3,4/7,5/7,6/10,7/10,8/5,9/2,10/1,11/1} 
{
  \pgfmathsetmacro{\xleft}{(\xminb + (\i-1)*\wb)/10}
  \pgfmathsetmacro{\xright}{(\xminb + \i*\wb)/10}
  \pgfmathsetmacro{\hb}{\v*0.04}

  % ======== обычная обработка всех остальных ========
  \draw[] (\xleft,\ttop+10pt-6pt) rectangle (\xright,\ttop+ 10pt-6pt + \cellb*\v);
  % разбиение на клетки
\foreach \k in {1,...,\v} {
  \draw (\xleft, \ttop+10pt -6pt+ \cellb*\k) -- (\xright, \ttop+10pt-6pt + \cellb*\k);
}

}


\draw (-10.75042/10, 5.5cm) -- (38.24827/10, 5.5cm);

\usetikzlibrary {arrows.meta}

\draw [thick,arrows = {-Stealth}] (-10.75042/10, 5.7cm) -> (-10.75042/10, 5.25cm);
\draw [thick,arrows = {-Stealth}] (22.93888/10, 5.7cm) -> (22.93888/10, 5.25cm);
\draw [thick,arrows = {-Stealth}] (38.24827/10, 5.7cm) -> (38.24827/10, 5.25cm);

% Это просто точка, расположенная на \( \tfrac{2}{3} \) пути от среднего \emph{setosa} к среднему \emph{virginica}.
% Формула и эквивалентные формы:
% \[
% m = \mu_{\text{setosa}} + \tfrac{2}{3}(\mu_{\text{virginica}}-\mu_{\text{setosa}})
% \]
% что равно
% \[
% m = \tfrac{1}{3}\mu_{\text{setosa}} + \tfrac{2}{3}\mu_{\text{virginica}}.
% \]
% 
% Подставим числа:
% \[
% m = -10.75042 + \tfrac{2}{3}(38.24827 - (-10.75042)) = 21.91537\ (\approx 21.92).
% \]
\draw [thick,arrows = {-Stealth}] (21.91537/10, 5.7cm) -- (21.91537/10, 5.0cm);


\node[font=\itshape\tiny] at (-0.2cm, 2cm) {Iris setosa};
\node[font=\itshape\tiny] at (3.3cm, 4cm) {Iris versicolor};
\node[font=\itshape\tiny] at (4.9cm, 1.4cm) {Iris virginica};


\node[font=\tiny]  at (5.0cm,5.55cm) {\scalebox{0.8}[1]{\parbox{3cm}{\centering\tiny
Means and two-thirds\\
weighted mean}}};

\end{tikzpicture}
\end{document}