我想使用外部文件的数据作为 Tikz 的剪切路径。以下是一些内容:
\documentclass[10pt,tikz]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\begin{filecontents*}{spiral.dat}
6.5066069e-01 -7.0560046e-01
5.7783540e-01 -7.4892495e-01
5.0112891e-01 -7.8376476e-01
4.2139313e-01 -8.0997113e-01
3.3947853e-01 -8.2749913e-01
2.5623414e-01 -8.3640761e-01
1.7250756e-01 -8.3685920e-01
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\clip file {spiral.dat};
\fill[red] (0,0) circle (5cm);
\end{tikzpicture}
\end{document}
显然,上面的方法不起作用,但是否存在类似的策略?我也可以通过从外部文件导入数据来直接定义 Tike 图形中的剪切路径,但我想避免这种情况。
答案1
您可以绘制文件,但您需要浮点数而不是 sci 表示。然后您可以简单地使用\clip plot file {spiral.dat};
。
否则,您可以通过读取表格pgfplotstable
并执行 TikZ 可以理解的坐标创建,或者简单地使用pgfplots
健全的输入表
\documentclass[10pt,tikz]{standalone}
\begin{filecontents*}{spiral.dat}
1.00000000 -0.10000000
0.98518595 -0.19563549
0.96101356 -0.28698521
0.92795372 -0.37325320
0.88655701 -0.45369864
0.83743510 -0.52767006
0.78126033 -0.59460623
0.71875144 -0.65404381
0.65066069 -0.70560046
0.57783540 -0.74892495
0.50112891 -0.78376476
0.42139313 -0.80997113
0.33947853 -0.82749913
0.25623414 -0.83640761
0.17250756 -0.83685920
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\clip plot[no marks] file {spiral.dat};
\fill[red] (0,0) circle (5cm);
\end{tikzpicture}
\end{document}