我必须使用 tikz 和 pgfplots 将以下 JPEG 图像转换为 TeX 等效图。
这是我目前所拥有的:
\documentclass[border=3mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width=\linewidth,
height=8cm,
ymin=0,
ytick={0,10,20,30,40,50,60,70,80,90,100},
ymax=100,
ylabel={Percentage},
symbolic x coords={0-15,15-59,60-64,65-69,70-74,75-79,80-84,85-89,90+},
xtick=data,
nodes near coords align={vertical}
]
\addplot[draw={rgb:red,36;green,105;blue,179},ultra thick, smooth, nodes near coords]
coordinates {(0-15,0.7) (15-59,0.6) (60-64,1.9) (65-69,3.0) (70-74,5.0) (75-79,9.8) (80-84,21.0) (85-89,38.2) (90+,64.4)};
\end{axis}
\end{tikzpicture}
\end{document}
它看起来是这样的:
该图几乎与上述 JPEG 图像相似。但是,我遇到了以下问题:
A. 如何在第一个 JPEG 图像中所见的箱子之间绘制垂直线?
B. 如何删除 TeX Graph 中显示的 x 轴和 y 轴刻度?
C. 如何将第一个 JPEG 图像中显示的数值处的大蓝点形象化?
D. 如何将坐标处的可视化数字稍微向上移动,以便它们不干扰绘制的线条?
任何帮助将不胜感激...
答案1
B. 使用选项tick style={draw=none}
。
答:对于灰线,请使用小刻度处的网格:
minor x tick num=1,
minor ytick={10,30,90},
grid=minor,
C. 使用mark*
绘图选项并更改draw
为color
。
\addplot[color={rgb:red,36;green,105;blue,179},mark=*,...] ...
D. 使用选项nodes near coords style
移动数字并将颜色改回黑色:
nodes near coords style={yshift=1em,black},
此外我会使用较小的字体尺寸。
代码:
\documentclass[border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width=\linewidth,
height=8cm,
ymin=0,
ytick={0,10,20,30,40,50,60,70,80,90,100},
ymax=100,
ylabel={Percentage},
symbolic x coords={0-15,15-59,60-64,65-69,70-74,75-79,80-84,85-89,90+},
xtick=data,
font=\footnotesize,
tick style={draw=none},
minor x tick num=1,
minor ytick={10,30,90},
grid=minor,
nodes near coords style={yshift=1em,black},
]
\addplot[color={rgb:red,36;green,105;blue,179},mark=*,ultra thick, smooth, nodes near coords]
coordinates {(0-15,0.7) (15-59,0.6) (60-64,1.9) (65-69,3.0) (70-74,5.0) (75-79,9.8) (80-84,21.0) (85-89,38.2) (90+,64.4)};
\end{axis}
\end{tikzpicture}
\end{document}