让 VertexRenderingFunction 缩放(不缩放)

2024-01-14

我在自定义 VertexRenderingFunction 以不同尺寸显示不同图形时遇到问题。下面是一个示例,默认的顶点渲染函数具有所需的行为,因为顶点在所有图中看起来都相同,有什么建议如何使用自定义顶点来实现这一点吗?


(source: yaroslavvb.com http://yaroslavvb.com/upload/vrf-scaling.png)



edges = Most[
    ArrayRules[GraphData[{"Path", 5}, "AdjacencyMatrix"]]][[All, 1]];
doit[vrf_] := 
  Print /@ Table[
    GraphPlot[Rule @@@ edges[[k ;;]], VertexRenderingFunction -> vrf, 
     VertexLabeling -> True], {k, 1, Length[edges]}];
doit[({White, EdgeForm[Black], Disk[#, .1], Black, Text[#2, #1]} &)];
doit[Automatic];
  

1小时后更新:

Michael Pilat 像往常一样给出了解决方案,这就是它的样子


(Inset[Graphics[{White, EdgeForm[Black], Disk[{0, 0}, .05], Black, 
     Text[#2, {0, 0}]}, ImageSize -> 25], #] &)   
for rendering function


(source: yaroslavvb.com http://yaroslavvb.com/upload/vrf-scaling-fixed.png)


Inset http://reference.wolfram.com/mathematica/ref/Inset.html a Graphics表达式与ImageSize http://reference.wolfram.com/mathematica/ref/ImageSize.html放置顶点的​​选项:

GraphPlot[Rule @@@ edges,
 VertexRenderingFunction -> (Inset[
     Graphics[{White, EdgeForm[Black], Disk[{0, 0}, .05], Black, 
       Text[#2, {0, 0}]}, ImageSize -> 25], #] &),
 VertexLabeling -> True]

ImageSize可以从打印机的点到a的各种值Scaled http://reference.wolfram.com/mathematica/ref/Scaled.html value.

Inset也可以/替代地在第四个参数中取一个大小,但默认设置遵循ImageSize插图的Graphics对象,在这种情况下使用起来更干净一些。

希望有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

让 VertexRenderingFunction 缩放(不缩放) 的相关文章

随机推荐

  • JMenu 动作监听器

    我想知道您是否可以测试是否已单击 JMenu 不是 JMenuItem 我尝试向其中添加 ActionListener 但它似乎无法识别它 我只需要它在按下 JMenu 按钮时执行一个操作 以便我可以在该菜单打开之前更改该菜单的 JMenu
  • 在 Azure 上部署 Angular 5 build:ssr

    我已经从此处找到的角度通用模板开始构建了我的项目 通用启动器 https github com angular universal starter 我正在尝试将 ssr 版本部署为 azure web 应用程序 我的代码在 VSTS 上 在
  • 如何从 IEEE Python 浮点转换为 Microsoft Basic 浮点

    我获得了 Python 浮点值 需要将其转换为 Microsoft Basic Float MBF 格式 幸运的是 从互联网上得到了一些代码 可以实现相反的功能 def fmsbin2ieee self bytes Convert an a
  • 为什么 std::string 不定义乘法或文字? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • JAX-RS Rest 服务停止在 Eclipse Glassfish 上部署

    我使用 Eclipse 在 Glassfish 4 1 1 上开发 Jersey JAX RS 应用程序大约一年了 今天早些时候 我对某些类进行了一些正常的更改 但是当我尝试进行构建时 Eclipse 没有更新这些类 我在 Stack Ov
  • 为什么应该将 CSRF 令牌放入 JWT 令牌中?

    我想对 JWT 代币和 CSRF 提出疑问风暴之路帖子 https stormpath com blog where to store your jwts cookies vs html5 web storage 解释了将 JWT 存储在
  • Android - 如何将后续视图发送回去

    我向 LinearLayout 添加一些视图 顶部略有重叠 代码如下 viewHolder linearLayout removeAllViews for int i 0 i lt conversation getPreviousMessa
  • 如何使用 AutoFixture 生成编译时未知的任意类型的存根对象

    我可以像这样获取构造函数参数的类型 Type type paramInfo ParameterType 现在我想从这种类型创建存根对象 有可能吗 我尝试使用自动固定装置 public TObject Stub
  • 在 Windows 上将 Xdebug 和 PhpStorm 与 Docker 容器结合使用

    我正在尝试使用 PhpStorm 使 Xdebug 适用于 Windows 上的 Docker 容器 我阅读了不同的文章和其他线程 但它仍然不起作用 在 docker compose yaml 中 我的应用程序容器有以下配置 version
  • Material UI 自动完成上的 Typescript 相等问题

    数据存储为 iso gb label United Kingdom country United Kingdom iso fr label France country France 传递给自动完成的值是 iso gb label Unit
  • odoo 9 - 如何限制 one2many 不显示表单视图

    我有一个 Many2many 它使用 one2many 小部件 我设置了 mode tree 并使用 editable bottom 这在编辑模式下按预期工作 但是在查看模式下 如果用户单击一行 它将在表单视图中打开该行 我如何防止这种情况
  • 如何在

    这个问题在这里已经有答案了 我有一个在 XAML 中声明的按钮 它具有 MouseDown 和 MouseUp 属性 它们都调用指定的方法
  • 通过排序快速插入/删除的数据结构

    我正在拼命寻找一种数据结构 允许我执行大量插入 几乎同样多的删除 可能是相同的数量级 以及非常快速地查找最高 或最低 可以使用其中任何一个 值 删除始终只会影响最高 或最低 值 问题是这些值必须进行排序 并且在任何时候我都可以在其他两个之间
  • RestAdapter(改造)在android中无法解析

    所以我尝试在我的项目中使用 Retrofit 正如该网站所说 我已经包括了compile com squareup retrofit retrofit 2 0 0 beta1 in build gradle 我正在阅读此教程link htt
  • Windows - 无法强制关闭网络文件句柄 - 无法关闭系统(Pid 4)文件句柄

    首先 很抱歉问了这么长的问题 但我想提供足够的细节 概要 在 Windows 中 似乎无法强制关闭通过网络共享打开的文件句柄 因此 通过网络共享打开的文件无法移动 重命名 删除 我用的是Win 7 问题 任何人都可以看到我做错了什么 或者有
  • 以角度动态更改 css 变量

    在我的角度项目中 我在顶层定义了一些 css 变量样式 scss像这样的文件 我在很多地方使用这些变量来保持整个主题的一致性 root theme color 1 f7f7f7 theme color 2 ec4d3b theme colo
  • Android启动意图查看apk

    在我的应用程序中 我下载一个 apk 并将其保存到 SD 卡 然后我想开始安装该 apk 我正在使用以下代码来尝试此操作 Intent intent new Intent intent setAction Intent ACTION VIE
  • Mathematica 中的变换分布

    我开发了一些代码来从 LogNormalDistribution 和 StableDistribution 的乘积生成随机变量 LNStableRV Alpha Beta Gamma Sigma Delta n Module LNRV SD
  • 如何找到相交矩形的交点矩形(点)

    如果我有两个相交的矩形 x1 y1 x2 y2 x3 y3 x4 y4 由两个顶点描述 如何找到一个由它们的交集产生的矩形 得到这些矩形相交的 2 个点 编程语言并不重要 可能是伪代码 PS 矩形与 OXY 平行 你可以使用矩形 交集 ht
  • 让 VertexRenderingFunction 缩放(不缩放)

    我在自定义 VertexRenderingFunction 以不同尺寸显示不同图形时遇到问题 下面是一个示例 默认的顶点渲染函数具有所需的行为 因为顶点在所有图中看起来都相同 有什么建议如何使用自定义顶点来实现这一点吗 source yar