我如何绘制这样的密度分布矩阵?
A=
0.0333 0.0333 0.9000 0.9000
0.9000 0.0333 0.0333 0.0333
0.0333 0.9000 0.0333 0.0333
0.0333 0.0333 0.0333 0.0333;
我想绘制上述矩阵(例如)pgfplots
或tikz
双线性插值热图或灰度图像。我该怎么做?
更新 根据网络上的例子我做了这个:
\documentclass[dvipsnames]{article}
\usepackage{tikz}
\usepackage{pgfplots, filecontents}
\pgfplotsset{compat=1.13}
\usepgfplotslibrary{colorbrewer}
\usepackage{comment}
\begin{filecontents*}{temp.dat}
0 0 0.0333
1 0 0.0333
2 0 0.9000
3 0 0.9000
0 1 0.9000
1 1 0.0333
2 1 0.0333
3 1 0.0333
0 2 0.0333
1 2 0.9000
2 2 0.0333
3 2 0.0333
0 3 0.0333
1 3 0.0333
2 3 0.0333
3 3 0.0333
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{tikzpicture}
\begin{axis}[
view={0}{90}, % not needed for `matrix plot*' variant
xlabel=context,
ylabel=outcome,
colormap = {whiteblack}{color(0cm) = (white);color(1cm) = (black)},
colorbar,
colorbar style={
title=$ $,
yticklabel style={
/pgf/number format/.cd,
fixed,
precision=1,
fixed zerofill,
},
},
title=$\mathbf{A}_{\mathrm{dom}}$,
%
% added these key-values
enlargelimits=false,
axis on top,
point meta min=0,
point meta max=1,
%
% uncomment me to show, that there are really no cells plotted
% when using the second variant (`surf, shader=flat corner')
%xmax=5,
%ymax=5,
]
%% gives the mean temperature of the neighbouring cells (4x4 matrix)
%\addplot3 [surf] file {temp.dat};
%% gives the temperature of each point where the reference point
%% is the lower left corner of the cell (also a 4x4 matrix)
%% (I already asked the package author if this is intended or a bug)
%\addplot3 [surf,shader=flat corner] file {temp.dat};
% this should give the desired output (5x5 matrix)
\addplot [matrix plot*,point meta=explicit] file [meta=index 2] {temp.dat};
\end{axis}
\end{tikzpicture}
\end{tikzpicture}
\end{document}
这个数字存在问题
好像它旋转了。我该如何修复它?
有没有办法在图形上放置 xticklabels 和 yticklabels 比如文本而不是数字?
我该如何删除颜色条?我尝试注释掉该行,但出现错误。
我怎样才能使用与我之前发布的类似的矩阵结构来构建此图,而不是像示例那样将其分解?谢谢。
答案1
y dir = reverse
您可以在环境选项中反转 y 轴的方向axis
。- 您可以使用环境选项中的
xtick
/ytick
和xticklabels
/键手动控制刻度标签。例如yticklabels
axis
xtick = {0,1,2,3}, ytick = {0,1,2,3}, xticklabels = { $x_0$, $x_1$, $x_2$, $x_3$ }, yticklabels = { $y_0$, $y_1$, $y_2$, $y_3$ },
- 颜色条由键控制
colorbar
。设置colorbar = false
或注释掉即可colorbar
。