如何在Graphviz中单独调整record类型节点单个记录项的字体样式
你需要将原有的record格式label替换为Graphviz支持的HTML类标签,即可实现局部内容的样式独立控制,具体实现方式如下:
原record节点的纯文本label本身不支持局部样式配置,改用HTML格式的label后,你可以通过<font>标签单独指定代码块的字体、字号、颜色等属性,和上方的状态名称样式完全隔离,同时用表格结构还原和原record节点完全一致的外观。
完整修改后代码示例
digraph lamp { node [shape=point,label=""]ENTRY // 原shape=record替换为plaintext,用HTML表格自行实现圆角边框效果 node [shape=plaintext] ON [label=< <table border="1" cellborder="0" cellspacing="0" rounded="1"> <tr><td padding="6">On</td></tr> <hr/> <tr><td padding="6" align="left"> <!-- 单独控制代码块样式,不影响上方的On文字 --> <font face="Courier New" point-size="10" color="#333333"> 第一行代码示例<br/> 第二行代码示例<br/> 第三行代码示例 </font> </td></tr> </table> >]; OFF [label=< <table border="1" cellborder="0" cellspacing="0" rounded="1"> <tr><td padding="6">Off</td></tr> <hr/> <tr><td padding="6" align="left"> <font face="Courier New" point-size="10" color="#333333"> 第一行代码示例<br/> 第二行代码示例<br/> 第三行代码示例 </font> </td></tr> </table> >]; ENTRY -> ON[label="Initialization"] ON -> OFF[label="|toggle|"] OFF -> ON[label="|toggle|"] }
关键参数说明
- 表格的
rounded="1"属性可以还原原record节点的圆角效果,和你原有样式完全一致 <font>标签的face属性自定义字体名称,point-size属性自定义字号,color属性自定义字体颜色,所有配置仅作用于包裹的代码块内容- 多行代码直接通过
<br/>标签换行即可,align="left"属性可以设置代码左对齐,更符合代码阅读习惯
内容的提问来源于stack exchange,提问作者Gaurav Saxena
相关产品推荐
相关产品推荐

