Callout
更多信息和选项
- Callout[data,expr,…] 可作为封装被用在可视化函数中,如 Plot、ListPlot 等.
- Callout[expr,…] 可用在 PlotLabels 中,用来指定标注,类似于 Placed.
- expr 可以是任意表达式,包括字符串、图形和公式.
- 在没有指定位置时,自动计算标注的位置 pos 和锚定位置 apos.
- 可能的标注的位置 pos 随函数而变,一般情况下包括:
-
x 靠近数据曲线,在位置 x 处 {x,y} 在位置 {x,y} 处 Scaled[s] 沿数据曲线的比例位置 s Above,Below,Before,After 相对位置 {s,Above},{s,Below},… 沿数据曲线的相对位置 s {pos,epos} 位置 pos 处 expr 内的位置 epos Automatic 自动确定 pos - 可能的锚定位置 apos 包括:
-
x 靠近数据曲线,在位置 x 处 {x,y} 在位置 {x,y} 处 Scaled[s] 沿数据曲线的比例位置 s Automatic 自动确定 apos - Callout 接受下列选项:
-
Appearance Automatic 标注的整体样式 Background Automatic 标签背景的样式 CalloutMarker None 锚定位置 apos 的标记 CalloutStyle Automatic stroke 和 knockout 的样式 Frame Automatic 标签的边框 FrameMargins Automatic 边框内的留白 LabelStyle {} 标签的样式 LabelVisibility Automatic 相对于其他标签的优先级 LeaderSize Automatic 引导线的长度和角度 RoundingRadius 0 圆角的半径 - Appearance 的可能的值为:
-

"Leader" 用引导线从标签指向数据 
"CurvedLeader" 弧形引导线 
"SlantedLabel" 按一定角度摆放的标签和颈线 
"Frame" 在 expr 周围加上完整的边框 
"Line" 为 expr 加上部分边框 
"Corners" 在 expr 周围的边角处加上边框 
"Balloon" 在 expr 周围加上气球状边框 
"LineBalloon" 在 expr 周围加上部分气球状边框 
None 不包括引导线 - CalloutMarker 的可能设置为:
-
None 不使用标记 "name" 使用已命名的标记 Arrowheads[…] 箭头规范 g 表达式 g - 已命名的标记 "name" 有:
-

"CirclePoint","Circle" 圆形标记 
"BoxPoint", "Box" 方形标记 
"Star", "OpenStar" 星形标记 
"Arrow", "OpenArrow" 箭头标记 - CalloutStyle 指定标记、引导线、颈线和边框的样式. 一般情况下,标记、引导线和颈线周围都留有空间,并辅之以背景色以增加可见性.
- CalloutStyle 的可能的值有:
-
Automatic 采用缺省样式 sty 使用样式 sty,同时使用缺省的 knockout 样式 {sty,kosty} 采用 kosty knockout 样式 - LeaderSize 的可能的值有:
-
Automatic 自动确定引导线的尺寸 lr 引导线的长度 {lr,lθ,s} 引导线的长度为 lr,角度为 lθ,到锚定点的间距为 s {{lr,lθ,s},{nr,nθ}} 包括颈线的长度 nr 和角度 nθ 的引导线规范
范例
打开所有单元 关闭所有单元基本范例 (4)
ListPlot[Table[Callout[i, i], {i, 1, 5}]]ListPlot[{16, 35, 39, Callout[44, "label", Below], 61, 74, 84, 86, 97, 100}]Plot[{Sin[x], Callout[Cos[x], "label"]}, {x, 0, 2π}]Plot[{Callout[Log[x]Sin[x], "max", Above], Log[x]Cos[x]}, {x, 0, 2π}]Plot[Callout[Log[x]Sin[x], "min", Bottom, LabelStyle -> Directive[Bold, Italic], Background -> StandardBlue, FrameMargins -> 7], {x, 0, 2π}]范围 (15)
标签放置 (8)
ListPlot[Table[Callout[Fibonacci[n], Fibonacci[n]], {n, 10}]]Plot[{Callout[Sin[x], "sine"], Callout[Cos[x], "cosine"]}, {x, 0, 10}]Table[ListPlot[Table[Callout[Fibonacci[n], Fibonacci[n], p], {n, 10}], Frame -> True], {p, {Above, Below, Before, After}}]Table[Plot[Callout[Sinc[x], "label", p], {x, -10, 10}, Frame -> True, BaselinePosition -> Bottom], {p, {Above, Below}}]Plot[Callout[Sinc[x], "label", 7], {x, 0, 10}]Plot[Callout[Sinc[x], "label", Scaled[0.75]], {x, 0, 10}]Plot[Callout[Sinc[x], "label", {3, Above}], {x, 0, 10}]Plot[Callout[Sinc[x], "label", {Scaled[0.3], Above}], {x, 0, 10}]Plot[Callout[Sinc[x], "label", {6, 0.5}], {x, 0, 10}]Table[Plot[Callout[Sinc[x], "label", {5Pi / 2, {s, 0.5}}], {x, 0, 10}], {s, {0, 1}}]锚定点的位置 (3)
Table[Plot[Callout[Sinc[x], "label", {5, 0.8}, a], {x, -10, 10}], {a, {2, 8}}]Table[Plot[Callout[Sinc[x], "label", {5, 0.8}, Scaled[a]], {x, -10, 10}], {a, {0.6, 0.9}}]ListLinePlot[Callout[Table[{t Cos[t], t Sin[t]}, {t, 0, 10, 0.1}], "label", {-3, 3}, {2.5Cos[2.5], 2.5Sin[2.5]}]]演示 (4)
Plot[Callout[Log[x]Sin[x], "max", Above, Appearance -> "Frame"], {x, 0, 2π}, PlotTheme -> "Minimal"]Plot[Callout[Log[x]Sin[x], "max", Above, Appearance -> "Balloon"], {x, 0, 2π}, PlotTheme -> "Minimal"]Plot[Callout[Log[x]Sin[x], "min", Below, CalloutMarker -> "Circle"], {x, 0, 2π}, PlotTheme -> "Business"]Plot[Callout[Log[x]Sin[x], "min", Below, CalloutMarker -> "Arrow"], {x, 0, 2π}, PlotTheme -> "Business"]ListPlot[Table[Callout[Prime[n], Prime[n], LeaderSize -> {{12, 135°, 6}, {5, 180°}}], {n, 10}], PlotMarkers -> Automatic, PlotTheme -> "Web"]Plot[{Callout[Sin[x], Sin[x], Above, Background -> RGBColor[0.790588, 0.201176, 0.], LabelStyle -> GrayLevel[1]], Callout[Cos[x], Cos[x], Below, Background -> RGBColor[0.192157, 0.388235, 0.807843], LabelStyle -> GrayLevel[1], Appearance -> "Balloon"]}, {x, 0, 2Pi}, PlotTheme -> "Web"]选项 (17)
Appearance (2)
Table[Plot[Callout[Log[x]Sin[x], "label", Scaled[0.2], Appearance -> a], {x, 0, 10}, PlotLabel -> a], {a, {"Leader", "CurvedLeader", "SlantedLabel", "Frame", "Line", "Corners", "Balloon", "LineBalloon"}}]Plot[{Callout[Log[x]Sin[x], "label", Automatic, 4, Appearance -> "Corners", Background -> StandardGreen, LeaderSize -> {20, 60 °, 5}, CalloutStyle -> {StandardBlue, StandardGreen}], Cos[x]}, {x, 0, 2π}]Background (1)
CalloutMarker (2)
Table[ListLinePlot[Callout[Fibonacci[Range[6]], "label", {3, 5}, 4, CalloutMarker -> i], PlotLabel -> i], {i, {"CirclePoint", "Circle", "BoxPoint", "Box", "Star", "OpenStar", "Arrow", "OpenArrow"}}]使用 Arrowheads 作为标记:
ListLinePlot[{Callout[Fibonacci[Range[6]], "Fibonacci", {4, 10}, 5, CalloutMarker -> Arrowheads[0.04]], Table[LucasL[n], {n, 6}]}]CalloutStyle (2)
ListLinePlot[{Range[20], Callout[Prime[Range[20]], "label", Scaled[0.6], CalloutStyle -> Red]}]ListLinePlot[{Callout[Prime[Range[20]], "label", 14, CalloutStyle -> {White, Red}], Range[20]}, GridLines -> Automatic, PlotTheme -> "Marketing"]Frame (1)
FrameMargins (1)
Table[ListLinePlot[Callout[Prime[Range[20]], "label", Scaled[0.6], Frame -> True, FrameMargins -> i]], {i, {3, 6}}]Table[ListLinePlot[Callout[Prime[Range[20]], "label", Scaled[0.6], Appearance -> "Balloon", FrameMargins -> i]], {i, {3, 6}}]LabelVisibility (3)
ListPlot[Table[Callout[{i, i}, i, LabelVisibility -> Automatic], {i, 50}], ImageSize -> 200]ListPlot[Table[Callout[{i, i}, i, LabelVisibility -> If[EvenQ[i], All, None]], {i, 50}], ImageSize -> 200]ListPlot[Table[Callout[{i, i}, i, LabelVisibility -> If[EvenQ[i], Infinity, -Infinity]], {i, 50}], ImageSize -> 200]LeaderSize (3)
Table[Plot[{Callout[Log[x] Sin[x], "label", Automatic, 2, LeaderSize -> s], Sin[x]}, {x, 0, 10}], {s, {15, 30}}]Table[Plot[Callout[Sinc[x], "label", Automatic, 0, LeaderSize -> {20, θ, 5}], {x, -10, 10}, PlotRange -> {-1, 2}], {θ, {0°, 45°, 135°, 180°}}]Table[Plot[Callout[Sinc[x], "label", Automatic, 1, LeaderSize -> {25, 45°, g}], {x, -10, 10}, PlotRange -> {-1, 2}], {g, {0, 10}}]Plot[{Callout[Log[x] Sin[x], "label", Automatic, 6.5, LeaderSize -> {{35, 110°, 5}, {10, 150°}}], Sin[x]}, {x, 0, 10}]LabelStyle (1)
RoundingRadius (1)
Plot[Callout[x ^ 4 - 25 x ^ 2 + 20 x + 15, "label", Scaled[0.6], RoundingRadius -> 5, Appearance -> "Frame"], {x, -5, 5}]Plot[Callout[x ^ 4 - 25 x ^ 2 + 20 x + 15, "label", Scaled[0.6], RoundingRadius -> 5, Appearance -> "Balloon"], {x, -5, 5}]应用 (1)
data = EntityValue[["all countries"], {"Name", "Area", "Population"}];annotated = data /. {{n : "Macau" | "Monaco" | "India", a_, b_} :> Callout[{a, b}, n, Above], {n : "Pitcairn Islands" | "Svalbard" | "Greenland", a_, b_} :> Callout[{a, b}, n, Below], {r : "Russia" | "China", a_, b_} :> Callout[{a, b}, r, After], {"Vatican City", a_, b_} :> Callout[{a, b}, "Vatican City", Before], {n_, a_, b_} :> Tooltip[{a, b}, n]};ListLogLogPlot[annotated, PlotTheme -> "Detailed", FrameLabel -> Automatic]文本
Wolfram Research (2016),Callout,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Callout.html (更新于 2019 年).
CMS
Wolfram 语言. 2016. "Callout." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2019. https://reference.wolfram.com/language/ref/Callout.html.
APA
Wolfram 语言. (2016). Callout. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Callout.html 年
BibTeX
@misc{reference.wolfram_2026_callout, author="Wolfram Research", title="{Callout}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/Callout.html}", note=[Accessed: 15-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_callout, organization={Wolfram Research}, title={Callout}, year={2019}, url={https://reference.wolfram.com/language/ref/Callout.html}, note=[Accessed: 15-August-2026]}