如何用具有一定尺寸(宽度和长度)的矩形点替换图表的坐标点

如何用具有一定尺寸(宽度和长度)的矩形点替换图表的坐标点

是否可以用矩形点替换我的坐标点?这个矩形的大小应该是例如 0.1/0.15(宽度/高度)...我该如何解决这个问题?提前谢谢您,抱歉我的英语不好。

\documentclass{article}

\usepackage{tikz,pgfplots}

\begin{document}

\begin{tikzpicture}
\begin{axis}[enlargelimits=0.2,colorbar]
\addplot[
scatter,mark=*,only marks,
point meta=\thisrow{myvalue}
]
table {
x y color myvalue
0.5 0.2 1 0.25
0.2 0.1 2 3
0.7 0.6 3 0.75
0.35 0.4 4 0.125
0.65 0.1 5 2
};
\end{axis}
\end{tikzpicture}

\end{document}

答案1

没有可用的矩形标记,只有方形标记,但您可以缩放方形以使其成为矩形。正如 salim bou 在他的回答中指出的那样,mark=square*将为您提供一个方形标记。添加every mark/.append style={xscale=0.67}到绘图选项将使标记的宽度减少 33%,同时保持高度不变,使其成为一个宽度:高度比约为 1:1.5 的矩形。

\documentclass[border=4mm]{standalone}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}
\begin{axis}[enlargelimits=0.2,colorbar]
\addplot[
  every mark/.append style={xscale=0.67},
  scatter,mark=square*,mark size={3pt},only marks,
  point meta=\thisrow{myvalue}
]
table {
x y color myvalue
0.5 0.2 1 0.25
0.2 0.1 2 3
0.7 0.6 3 0.75
0.35 0.4 4 0.125
0.65 0.1 5 2
};
\end{axis}
\end{tikzpicture}

\end{document}

答案2

只需更改为mark=square*,键mark size={dim}就可以将标记大小设置为dim,对于圆形标记,dim是半径,对于其他绘图标记,它大约是宽度和高度的一半。

\documentclass{article}
\usepackage{tikz,pgfplots}

\begin{document}

\begin{tikzpicture}
\begin{axis}[enlargelimits=0.2,colorbar]
\addplot[
scatter,mark=square*,mark size={3pt},only marks,
point meta=\thisrow{myvalue}
]
table {
x y color myvalue
0.5 0.2 1 0.25
0.2 0.1 2 3
0.7 0.6 3 0.75
0.35 0.4 4 0.125
0.65 0.1 5 2
};
\end{axis}
\end{tikzpicture}

\end{document}

如果您需要宽度和高度不相等的矩形标记,则可以使用mark=text然后创建新的标记text mark={\rule{width}{height}}

\documentclass{article}

\usepackage{tikz,pgfplots}

\begin{document}

\begin{tikzpicture}
\begin{axis}[enlargelimits=0.2,colorbar]
\addplot[
scatter,mark=text, text mark={\rule{2mm}{2.5mm}},only marks,
point meta=\thisrow{myvalue}
]
table {
x y color myvalue
0.5 0.2 1 0.25
0.2 0.1 2 3
0.7 0.6 3 0.75
0.35 0.4 4 0.125
0.65 0.1 5 2
};
\end{axis}
\end{tikzpicture}

\end{document}

结果

在此处输入图片描述

相关内容