我在二维空间中有一组数据点,我想创建一个看起来平滑的点密度热图,类似于下面我在 MATLAB 中生成的图片。较暗的区域点的集中度较高,反之亦然。如何使用 TikZ 实现这一点?
答案1
这是我迄今为止最好的尝试:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fadings}
\begin{document}
\pgfdeclarelayer{foreground}
\pgfsetlayers{main,foreground}
\tikzfading[name=fade out, inner color=transparent!70, outer color=transparent!100]
\begin{tikzpicture}
\newcommand{\heat}[2]{%
\fill[black,path fading=fade out] (#1,#2) circle (1);
\begin{pgfonlayer}{foreground}
\node at (#1,#2) {+};
\end{pgfonlayer}
}
\foreach \i in {0,...,200}{%
\pgfmathsetmacro\x{rnd*10}
\pgfmathsetmacro\y{rnd*10}
\heat{\x}{\y};
}
\end{tikzpicture}
\end{document}