How to| 改变二维散点图中点的大小
Wolfram 语言具有全面的数据可视化功能,其中自定义是重要的组成部分之一. 尽管图形中点的默认显示设置适用于大多数情形,您可以对点的大小进行完全控制.
testData = Prime[Range[25]]当用 ListPlot 绘制数据时,Wolfram 语言自动选择如何显示这些点:
ListPlot[testData]通过使用 PlotMarkers 选项,您可以更大程度地控制图形中点的外观. 当设置为 Automatic 时,将对连续的点列表提供一个预定义的标准标记序列.
ListPlot[testData, PlotMarkers -> Automatic]用 PlotMarkers 设置点的大小将使点以绝对尺寸绘制. 也就是说,在您调整图形的大小时,点的尺寸也不会改变.
要改变 PlotMarkers 所用的点的尺寸,可以使用预定义的符号式值 Tiny、Small、Medium 或 Large:
ListPlot[testData, PlotMarkers -> {Automatic, Tiny}]如要查看每个尺寸设置的效果,点击这个 Manipulate 中的各个不同尺寸:
Manipulate[ListPlot[testData, PlotMarkers -> {Automatic, size}], {size, {Tiny, Small, Medium, Large}}, SaveDefinitions -> True]您也可以在 PlotMarkers 中通过使用数字值设置点的大小.
ListPlot[testData, PlotMarkers -> {Automatic, 3}]如要查看不同尺寸的效果,使用该 Manipulate 中的滑块,将点的尺寸由1到30进行调整:
Manipulate[ListPlot[testData, PlotMarkers -> {Automatic, size}], {size, 1, 30, Appearance -> "Labeled"}, SaveDefinitions -> True]也可以通过图形指令 PointSize 或 AbsolutePointSize 与 PlotStyle 选项结合使用来改变图形中点的尺寸.
这里,PointSize 与 PlotStyle 合用,设置图形中点的大小. 用于 PointSize 的数字表示各点相对于图形总宽度的直径:
ListPlot[testData, PlotStyle -> {PointSize[0.02]}]使用 AbsolutePointSize,您可以用点的绝对直径指定点的尺寸. 单位用打印机点数表示,在放大前相当于一英寸的1/72:
ListPlot[testData, PlotStyle -> {AbsolutePointSize[8]}]PointSize 和 AbsolutePointSize 也接受预定义的符号式值 Tiny、Small、Medium 和 Large. 当使用预定义的符号式值时,生成的点为绝对尺寸,不管它们是否使用了 PointSize 或 AbsolutePointSize.
testData1 = Table[{x, Sqrt[x]}, {x, 0, 4, .2}];
testData2 = Table[{x, x^1 / 3}, {x, 0, 4, .2}];
testData3 = Table[{x, x^1 / 5}, {x, 0, 4, .18}];Manipulate[ListPlot[{testData1, testData2, testData3}, PlotMarkers -> {Automatic, size}], {size, 1, 30, Appearance -> "Labeled"}, SaveDefinitions -> True]将各个数据集用不同尺寸的点表示. testData1、testData2 和 testData3 的点的尺寸分别为5、10和15:
ListPlot[{testData1, testData2, testData3}, PlotMarkers -> {{●, 5}, {●, 10}, {●, 15}}]除了使用 Automatic 标记外,最后一个图形中的标记给出明确设置. 关于图形中指定标记的更多信息,请参阅 How to: 改变二维散点图中点的类型和颜色.
您也可以使用 PlotStyle 和 PointSize 对表示各数据集的点指定不同的尺寸. 表示 testData1 的点具有相对 PointSize 0.02, 表示 testData2 的点具有相对 PointSize 0.04,表示 testData3 的点具有相对PointSize 0.06:
ListPlot[{testData1, testData2, testData3}, PlotStyle -> {PointSize[0.02], PointSize[0.04], PointSize[0.06]}]Wolfram 语言也允许您改变三维视图中点的尺寸,比如由 ListPointPlot3D 生成的图形.
ListPointPlot3D[Table[Sin[j ^ 2 + i], {i, 0, Pi, 0.1}, {j, 0, Pi, 0.1}]]您也可以选择不同的尺寸,包括 Tiny、Small、Medium 和 Large:
Manipulate[ListPointPlot3D[Table[Sin[j ^ 2 + i], {i, 0, Pi, 0.1}, {j, 0, Pi, 0.1}], PlotStyle -> PointSize[size]], {size, {Tiny, Small, Medium, Large}}]