棒グラフのヘルプ

棒グラフのヘルプ

写真に似たグラフを作成する必要があります。コードの冒頭は LATEX で記述しましたが、正しく動作しません。写真のように碑文を追加する必要があります。自分の言語で記述できます。編集できます。本当に助けが必要です。ここに画像の説明を入力してください

私のコード:

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\usepackage[english, russian]{babel}
\usepackage[utf8]{inputenc}
\begin{document}
    
    \begin{tikzpicture}
        \begin{axis}[
            ybar,
            ymin=0, ymax=14, % Устанавливаем минимальное и максимальное значение по оси Y
            ymajorgrids=true, % Включаем сетку по оси Y
            bar width=8pt, % Ширина столбцов
            xlabel={Частота, Гц}, % Подпись оси X
            ylabel={Среднеквадратическое значение напряжения, В}, % Подпись оси Y
            xtick={220,225,...,320}, % Значения по оси X
            xticklabels={220,225,...,320}, % Подписи значений по оси X
            x tick label style={rotate=45,anchor=east}, % Стиль подписей по оси X
            xticklabel style={
                /pgf/number format/1000 sep=, % Убираем разделитель тысяч
                rotate=90, % Поворачиваем подписи на 90 градусов
                anchor=east % Якорь для поворота
            },
            enlarge x limits=0.05, % Увеличиваем пределы оси X для визуального комфорта
            legend style={at={(0.5,-0.2)},anchor=north,legend columns=-1} % Расположение легенды
            ]
            
            % Данные графика
            \addplot coordinates {(220,0.5) (225,0.5) (230,0.5) (235,0.5) (240,0.5) (245,0.75) (250,14) (255,0.75) (260,1) (265,1.25) (270,1.5) (275,1.75) (280,2) (285,8) (290,6) (295,4) (300,3) (305,2) (310,1) (315,0.5) (320,0.5)};
            
            % Добавляем пунктирные линии для подгрупп
            \draw [dashed] (axis cs:240,0) -- (axis cs:240,14);
            \draw [dashed] (axis cs:250,0) -- (axis cs:250,14);
            \draw [dashed] (axis cs:290,0) -- (axis cs:290,14);
            
            % Подписи для групп
            \node at (axis cs:245,15) [anchor=north] {Гармоническая подгруппа};
            \node at (axis cs:320,15) [anchor=north] {Интергармоническая группа};
            
        \end{axis}
    \end{tikzpicture}
    
\end{document}

答え1

やり方はこうです。

変更点を でマークしました% <<<。ただし、装飾を導入すると、外箱に奇妙な効果が生じますが、解決できませんでした。回避策としては、たとえば、装飾を再度削除し、それらの水平パスを手動で構築することが考えられます。

結果

\documentclass[border=3mm]{standalone}  % <<<
\usepackage{pgfplots}
\pgfplotsset{compat=1.17,width=20cm} % <<<
\usepackage[english, russian]{babel}
\usepackage[utf8]{inputenc}

\usetikzlibrary{decorations.pathreplacing}  % <<<

\begin{document}
    
    \begin{tikzpicture}[% some styles
        txt/.style={fill=white,anchor=center},
        decoration={brace,amplitude=3mm},
        ]
        \begin{axis}[
            ybar,
            ymin=0, ymax=16, % <<< % Устанавливаем минимальное и максимальное значение по оси Y
            ymajorgrids=true, % Включаем сетку по оси Y
            bar width=8pt, % Ширина столбцов
            xlabel={Частота, Гц}, % Подпись оси X
            ylabel={Среднеквадратическое значение напряжения, В}, % Подпись оси Y
            xtick={220,225,...,320}, % Значения по оси X
            xticklabels={220,225,...,320}, % Подписи значений по оси X
            x tick label style={
            rotate=-90,     % <<<
            anchor=east}, % Стиль подписей по оси X
            xticklabel style={
                /pgf/number format/1000 sep=, % Убираем разделитель тысяч
                rotate=90, % Поворачиваем подписи на 90 градусов
                anchor=east % Якорь для поворота
            },
            enlarge x limits=0.05, % Увеличиваем пределы оси X для визуального комфорта
            legend style={at={(0.5,-0.2)},anchor=north,legend columns=-1} % Расположение легенды
            ]
            
            % Данные графика
           \addplot coordinates {(220,0.5) (225,0.5) (230,0.5) (235,0.5) (240,0.5) (245,0.75) (250,14) (255,0.75) (260,1) (265,1.25) (270,1.5) (275,1.75) (280,2) (285,8) (290,6) (295,4) (300,3) (305,2) (310,1) (315,0.5) (320,0.5)};
            
            % Добавляем пунктирные линии для подгрупп
%            \draw [dashed] (axis cs:240,0) -- (axis cs:240,14);
%            \draw [dashed] (axis cs:250,0) -- (axis cs:250,14);
%            \draw [dashed] (axis cs:290,0) -- (axis cs:290,14);
            
            \draw [dashed] (axis cs:237.3,0) -- (axis cs:237.5,14);
            \draw [dashed] (axis cs:252.5,0) -- (axis cs:252.5,14);

            \draw [dashed] (axis cs:247.5,0) -- (axis cs:247.5,12);
            \draw [dashed] (axis cs:292.5,0) -- (axis cs:292.5,12);

            % braces, as decorations
            \draw[decorate,dashed] (axis cs:237.5,14) -- (axis cs:252.5,14);
            \draw[decorate,dashed] (axis cs:247.5,12) -- (axis cs:292.5,12);
            
            % Подписи для групп
            \node at (axis cs:245,15) [txt] {Гармоническая подгруппа};
            \node at (axis cs:270,13) [txt] {Интергармоническая группа};
            
        \end{axis}
    \end{tikzpicture}
    
\end{document}

関連情報