我正在尝试绘制一个简单的图表,pgfplots
但数字似乎显示不正确。是否可以以某种方式缩放图表的左侧部分?我还希望 x 轴上的数字不要显示为科学计数法。
\documentclass{scrartcl}
\usepackage[no-math]{fontspec}
\usepackage{polyglossia}
\setmainlanguage{brazil}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ %
bar width=9pt,
nodes near coords,
yticklabel style={/pgf/number format/.cd,fixed,use comma},
scaled ticks=false,
width=1.0\textwidth,
%height=1.0\textheight,
xlabel={Ano},
ylabel={População},
xmin=0, ymin=0,
xmax=350,
ytick=data, xtick=data,
]
\addplot coordinates {
(40,1000)
(50,1400)
(100,7530)
(150,40496)
(200,217795)
(250,1171356)
(300,6299832)
(350,33882008)
};
\end{axis}
\end{tikzpicture}
\end{document}
也许最好绘制一个从第 40 年的 1000 开始的进程——我只是想可视化从第 40 年到第 350 年,每十年增加 40%。我该怎么做呢?
答案1
如果您使用ytick=data
pgfplots
为插入的每个坐标添加一个勾号,那么您的第一个坐标就会重叠..在我看来,显示此类数据的更好方法是使用半对数轴环境,如下所示:
\documentclass{scrartcl}
\usepackage[no-math]{fontspec}
\usepackage{polyglossia}
\setmainlanguage{brazil}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{semilogyaxis}[ %
bar width=9pt,
nodes near coords,
%y tick label style={/pgf/number format/.cd,fixed,use comma,scaled y ticks=false},
scaled ticks=false,
width=1.0\textwidth,
%height=1.0\textheight,
xlabel={Ano},
ylabel={População},
xmin=0, ymin=0,
xmax=350,
%ytick=data
xtick=data,
]
\addplot coordinates {
(40,1000)
(50,1400)
(100,7530)
(150,40496)
(200,217795)
(250,1171356)
(300,6299832)
(350,33882008)
};
\end{semilogyaxis}
\end{tikzpicture}
\end{document}