TD;DR:pgfplots
如何才能可靠地减少包含大量数据点的PDF 中的图层数量。
我制作了一些 3D 图,pgfplots
每个图包含很多数据点。它们通过以下方式排版为 PDFstandalone
并包含在主文档中graphicx
:
我去了两家当地的复印店打印我的文档(包含大约 20 个通过 包含的图表graphicx
),但被告知这些图表导致我的文档包含“太多图层”,并且他们的打印设置“挂起”。但是,我可以使用 MacBook 上的一款相当便宜的 Canon 消费级喷墨打印机毫无问题地打印它。
请不要建议手动转换为位图。如果确实需要转换,我需要对整个文档进行自动转换。没有时间逐张手动进行转换。
请不要建议减少数据。图表确实看起来不错,编译时间合理(在我的计算机上约为 1 分钟),我现在绝对不能再触碰数据了。
这是 MWE,样本csv
数据可以在这里找到我的 github。
% !TeX program = lualatex
\RequirePackage{luatex85}
\documentclass[border={1.5cm 2pt 5mm 10pt}]{standalone}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{siunitx}
%\usepackage[no-math]{fontspec}
%\setmainfont{Linux Libertine}
%\setsansfont{Linux Biolinum}
\usepackage[partial=upright]{unicode-math}
\usepackage{fontspec}
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary{
pgfplots.groupplots
}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepackage{pgfplotstable}
\usepackage[main=ngerman,english]{babel}
\begin{document}
\begin{tikzpicture}[trim axis left,trim axis right]
\begin{axis}[
width=7cm,
grid=both,
view={120}{45},
set layers,
every axis plot/.append style={on layer=pre main},
every x tick scale label/.style={
overlay,
at={(xticklabel* cs:0.8)},
anchor=near xticklabel,
inner sep=8pt,
},
xmin=0,
xmax=0.01,
ymode=log,
ytick={0.01,0.1,1,10},
ymin=0,
ymax=30,
zmin=20,
zmax=420,
ztick={20,200,420},
zlabel={Quantity},
clip=false
]
\addplot3[
surf,
opacity=0.05,
fill opacity=0.75,
shader=flat,
colormap/viridis,
] table [
col sep=comma,
] {data.dat};
\node at (rel axis cs:0.5,0,1) [overlay,above,sloped like x axis] {Axis A};
\node at (rel axis cs:0,0.5,1) [overlay,above,sloped like y axis] {Axis B};
\end{axis}
\end{tikzpicture}
\end{document}
编辑:顺便说一下,这是在 Windows 10 机器上呈现的最小工作示例Adobe Acrobat Reader 11.0.23
(请监督我在这里更改的轴标签):
这显然不是可以接受,我想知道我的代码出了什么问题,导致Acrobat
无法正确显示。在 Ubuntu 下使用Eye of Gnome
或qpdfview
以及在 OSX 下使用 都可以工作Preview
。