这是我的尝试,但我想:
- 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}