pydantic_graph.mermaid
DEFAULT_HIGHLIGHT_CSS module-attribute
DEFAULT_HIGHLIGHT_CSS = 'fill:#fdff32'
用于高亮节点的默认 CSS。
StateDiagramDirection module-attribute
StateDiagramDirection = Literal['TB', 'LR', 'RL', 'BT']
用于指定 mermaid 生成的状态图的方向。
'TB'
: 从上到下,这是 mermaid 图表的默认设置。'LR'
: 从左到右'RL'
: 从右到左'BT'
: 从下到上
generate_code
generate_code(
graph: Graph[Any, Any, Any],
/,
*,
start_node: (
Sequence[NodeIdent] | NodeIdent | None
) = None,
highlighted_nodes: (
Sequence[NodeIdent] | NodeIdent | None
) = None,
highlight_css: str = DEFAULT_HIGHLIGHT_CSS,
title: str | None = None,
edge_labels: bool = True,
notes: bool = True,
direction: StateDiagramDirection | None,
) -> str
为图表生成 Mermaid 状态图 代码。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
graph
|
Graph[Any, Any, Any]
|
要为其生成图像的图表。 |
必需 |
start_node
|
Sequence[NodeIdent] | NodeIdent | None
|
作为图表起点的节点标识符。 |
None
|
highlighted_nodes
|
Sequence[NodeIdent] | NodeIdent | None
|
要高亮的节点标识符。 |
None
|
highlight_css
|
str
|
用于高亮节点的 CSS。 |
DEFAULT_HIGHLIGHT_CSS
|
title
|
str | None
|
图表的标题。 |
None
|
edge_labels
|
bool
|
是否在图表中包含边标签。 |
True
|
notes
|
bool
|
是否在图表中包含注释。 |
True
|
direction
|
StateDiagramDirection | None
|
流动的方向。 |
必需 |
返回
类型 | 描述 |
---|---|
str
|
图表的 Mermaid 代码。 |
源代码位于 pydantic_graph/pydantic_graph/mermaid.py
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
|
request_image
使用 mermaid.ink 生成 Mermaid 图表的图像。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
graph
|
Graph[Any, Any, Any]
|
要为其生成图像的图表。 |
必需 |
**kwargs
|
Unpack[MermaidConfig]
|
用于配置 mermaid 图表生成的其他参数。 |
{}
|
返回
类型 | 描述 |
---|---|
bytes
|
图像数据。 |
源代码位于 pydantic_graph/pydantic_graph/mermaid.py
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 |
|
save_image
save_image(
path: Path | str,
graph: Graph[Any, Any, Any],
/,
**kwargs: Unpack[MermaidConfig],
) -> None
使用 mermaid.ink 生成 Mermaid 图表的图像并将其保存到本地文件。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
path
|
Path | str
|
保存图像的路径。 |
必需 |
graph
|
Graph[Any, Any, Any]
|
要为其生成图像的图表。 |
必需 |
**kwargs
|
Unpack[MermaidConfig]
|
用于配置 mermaid 图表生成的其他参数。 |
{}
|
源代码位于 pydantic_graph/pydantic_graph/mermaid.py
198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 |
|
MermaidConfig
基类: TypedDict
用于配置 mermaid 图表生成的参数。
源代码位于 pydantic_graph/pydantic_graph/mermaid.py
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 |
|
image_type instance-attribute
image_type: Literal['jpeg', 'png', 'webp', 'svg', 'pdf']
要生成的图像类型。如果未指定,则默认行为为 'jpeg'
。
pdf_landscape instance-attribute
pdf_landscape: bool
当使用 image_type='pdf' 时,是否对 PDF 使用横向方向。
如果使用 pdf_fit
,则此设置无效。
pdf_paper instance-attribute
pdf_paper: Literal[
"letter",
"legal",
"tabloid",
"ledger",
"a0",
"a1",
"a2",
"a3",
"a4",
"a5",
"a6",
]
当使用 image_type='pdf' 时,PDF 的纸张尺寸。
background_color instance-attribute
background_color: str
图表的背景颜色。
如果为 None,则使用默认的透明背景。颜色值默认解释为十六进制颜色代码(并且不应带有前导 '#'),但您也可以通过在值前加上 '!'
来使用命名颜色。例如,有效的选择包括 background_color='!white'
或 background_color='FF0000'
。
theme instance-attribute
theme: Literal['default', 'neutral', 'dark', 'forest']
图表的主题。默认为 'default'。
scale instance-attribute
图表的缩放比例。
缩放比例必须是 1 到 3 之间的数字,并且只有在设置了宽度和高度之一或两者时才能设置缩放比例。
httpx_client instance-attribute
httpx_client: Client
用于请求的 HTTPX 客户端,主要用于测试目的。