Pgfplots:需要改进我的情节

Pgfplots:需要改进我的情节

这是我的尝试,但我想:

  • x 轴和条形底部之间的空间较小;
  • 头衔不太高;
  • 0 以下和 70 以上没有小刻度标记,但箭头和 70 之间仍有一些空间。

在此处输入图片描述

\documentclass[tikz,margin=.5cm]{standalone}
\usepackage{pgfplots}

\pgfplotsset{%
    compat=newest, %footnotesize
    tick label style={font=\footnotesize},
    label style={font=\small},
    legend style={font=\small},
    axis x line = center,
    axis y line = center,
    every axis/.style={pin distance=1ex}
    %xlabel near ticks
%   
    }   %%%% fin pgfplotsset


\begin{document}
\begin{tikzpicture}
\begin{axis}[%
    width=7cm, height=5.5cm,    % on choisit la largeur
    enlargelimits=0.1,          % !!! mettre de cela en premier
                                % +5% de largeur pour que les barres
                                % extrêmes apparaissent bien
    scale only axis=true,       % On ne tient pas compte de ce qui
                                % autour des axes
    ybar,                       % barres verticales
    bar width=20pt,         % barres horizontale de 10pt de
                                % large 
    %axis y line=right,         % axe y à droite
    ymin=0,ymax=70,         % amplitude de l'axe y
    %y=.08cm,               % change la taille de l'échelle
    max space between ticks=25, % Densifie la graduation
    axis x line*=bottom,        % axe x en bas avec * pour la
                                % largeur
    x axis line style=-,        % sans flèche
                                % étiquettes syboliques qui ne
                                % servent que de références
    xtick=data,     % les valeurs de x sont les étiquettes
    xticklabels=
    {Lu,
    Ma,
    Me,
    Je,
    Ve,
    Sa,
    Di},
    % ces trois commandes sont à mettre dans cet ordre,
    % et pdflatex ne veut pas d'accent dans les étiquettes
    x tick label style=
        {rotate=60,anchor=east},% étiquette penchées à 60°
    legend style={              % style de la légende
        at={(0.1,0.91)},        % Position en %tage
        anchor=south west,      % point d'accroche
        legend columns=-1,      % nb de colonne ; -1 = en ligne
        font=\footnotesize},    % taille de la police
    ymajorgrids,        % affiche la grille principale horizontale
    minor y tick num=5,         % 3 sous-graduations de 5 en 5 mm
    ylabel style={%
        at={(-.08,.5)},
        font=\footnotesize,
        rotate=90,
        anchor=south
        },
    ylabel=\bf Nombre de boîtes,
    title style={%
        text width=6.5cm,
        align=center,
        font=\footnotesize
        },
    title=\bf Ventes quotidiennes
    %nodes near coords,                      % mettre les valeurs
    %nodes near coords align={vertical},    % au dessus des barres
]
\addplot[style={draw=orange,fill=yellow!40!white}]
    coordinates {%
    (1,30)
    (2,15)
    (3,30)
    (4,61)
    (5,55)
    (6,61)
    (7,63)} ;

%\legend{Précipitations} ;      % Nom de la légend
\end{axis}
\end{tikzpicture}
\end{document}

答案1

对于放大问题,不要enlargelimits使用两个轴,而要使用以下单独的轴

enlarge x limits=0.1,
enlarge y limits = {upper=0.1},
ymin= -2

这将删除底部的额外填充,但会引入一点ymin

对于标题,您可以使用title style

title style={at={(axis description cs: 0.5,1)},anchor=north}

最后是蜱虫,

ytickmax=70,
ytickmin=0

成功了。我还删除\bf并添加了样式font。注释的行是更改的行

\begin{tikzpicture}
\begin{axis}[%
    width=7cm, height=5.5cm,
    enlarge x limits=0.1,   %<-----
    enlarge y limits = {upper=0.1}, %<-----------
    scale only axis=true,
    ybar,
    bar width=20pt,
    ymin=-2, %<-----
    ymax=70,
    max space between ticks=25,
    axis x line*=bottom,
    x axis line style=-,
    xtick=data,
    xticklabels={Lu,Ma,Me,Je,Ve,Sa,Di},
    x tick label style={rotate=60,anchor=east},
    ymajorgrids,
    minor y tick num=5,
    ylabel style={at={(-.08,.5)},font=\bfseries\footnotesize,rotate=90,anchor=south},
    ylabel=Nombre de boîtes, %<------
    title style={text width=6.5cm,align=center,font=\bfseries\footnotesize,at={(axis description cs: 0.5,1)},anchor=north},%<------------
    ytickmax=70,ytickmin=0,  %<----
    title=Ventes quotidiennes
]
\addplot[style={draw=orange,fill=yellow!40!white}]
    coordinates {(1,30)(2,15)(3,30)(4,61)(5,55)(6,61)(7,63)} ;
\end{axis}
\end{tikzpicture}

在此处输入图片描述

相关内容