在 Mathematica 中创建具有不同颜色边的图形

2024-04-28

我想创建一个图(图论),其中某些边具有与其他边不同的颜色,这将用于突出显示图中从一个顶点到另一个顶点的路径。

以下是一些具有不同颜色边缘的示例http://demonstrations.wolfram.com/AGraphTheoryInterpretationOfTheSumOfTheFirstNIntegers/ http://demonstrations.wolfram.com/AGraphTheoryInterpretationOfTheSumOfTheFirstNIntegers/ and http://demonstrations.wolfram.com/Ramsey336/ http://demonstrations.wolfram.com/Ramsey336/。我查看了这些的源代码,但这些解决方案似乎很复杂。我需要一个简单的例子来工作。我认为我需要使用 EdgeRenderingFunction 作为选项之一GraphPlot.

另外根据边缘渲染函数 http://reference.wolfram.com/mathematica/ref/EdgeRenderingFunction.html文档在“更多 信息”部分说:

这看起来很有用,但不幸的是没有可以尝试的编码示例。

从字面上看,我尝试过类似的事情

GraphPlot[{1 -> 2, 2 -> 3, 3 -> 4, 4 -> 1, 2 -> 4, 4 -> 5, 4 -> 6}, 顶点标签 -> True,
EdgeRenderingFunction -> g[{1, 2}, {1, 2},红色]]

但那是行不通的。这需要比这更聪明的东西。


下面的示例说明了如何自动突出显示图形中的特定路径。

这是一个愚蠢的图,由一系列边缘规则指定:

edges = Table[i -> Mod[1 + i^2, 10], {i, 0, 9}];
GraphPlot[edges, VertexLabeling -> True]

这是我们要强调的图表路径。

path = {0, 1, 2, 5, 6, 7, 0};

让我们将路径划分为边缘,考虑到我们想要突出显示边缘而与其方向无关。

edgesToHighlight = Partition[path, 2, 1];
edgesToHighlight = Join[edgesToHighlight,
    Reverse /@ edgesToHighlight];

我们写一个EdgeRenderingFunction以两种样式之一渲染边缘,具体取决于它是否在我们的列表中。

erf[pts_, edge_, ___] := If[MemberQ[edgesToHighlight, edge],
    {Thick, Black, Arrow[pts, 0.1]}, {Darker[Red], Line[pts]}];

最后,我们显示结果。

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

在 Mathematica 中创建具有不同颜色边的图形 的相关文章

  • 如何使用线性模型函数的色标填充背景?

    我正在分析Alberto Cairo的 功能艺术 中的datavis示例 我推荐给你 那本书里有这样的例子 我在 R 中尝试 在左下图 散点图 中 我使用书中的数据 并计算了人口函数中的军事效果lm efect pop 以及人口 效应函数的
  • 如何在 Java (NetBeans) 中将禁用按钮的文本颜色更改为黑色?

    我正在使用 NetBeans 用 Ja va 开发 GUI 我喜欢将禁用按钮的文本颜色更改为黑色 以下命令在组合框上运行良好 UIManager getDefaults put ComboBox disabledForeground Col
  • Android - 深色模式问题:深色背景上的黑色文本

    当我启用深色模式时 我的应用程序上的某些菜单看起来很糟糕 非常暗的背景上的黑色文本 我对颜色完全是一个初学者 我还没有接触过 android studio 上默认颜色设置的任何内容 所以我有默认的两个主题 XML 和 Color Xml
  • 查找二维数组中的最短路径(Javascript)

    我正在尝试实现一种算法 该算法在以下二维数组中找到最短路径 从左上角到右下角 A A A B A B B B B B A B A A A A B B B B A A A A A 规则是 路径必须在 A 和 B 之间交替 输出必须是一个数字
  • 简化债务加权有向图的算法

    我一直在使用我编写的一个小Python脚本来管理室友之间的债务 它有效 但缺少一些功能 其中之一是简化不必要的复杂债务结构 例如 如果下面的加权有向图代表一些人 箭头代表他们之间的债务 爱丽丝欠鲍勃 20 美元 查理欠 5 美元 鲍勃欠查理
  • 如何以编程方式证明“六度分离”概念?

    我有一个包含 2000 万用户以及这些人之间的联系的数据库 如何证明 六度分离 的概念以最有效的方式在编程中 链接到有关六度分离的文章 http en wikipedia org wiki Six degrees of separation
  • 如何在R中制作渐变颜色填充时间序列图

    How to 填充区域 sp 线下方和上方渐变色 这个例子是在 Inkscape 中绘制的 但我需要垂直渐变 不是水平的 间隔从zero to positive 来自white to red 间隔从zero to negative 来自wh
  • 设置刻度标签的背景颜色

    我有一个子图 其刻度标签与数据重叠 我想将 x tick 标签设置为具有背景颜色 例如白色 目前我只能找到如何更改标签的颜色 但不能找到背景 我知道如何使用文本对象获得效果 如下所示 注意 我不希望整个子图的边距被着色 而只是刻度标签 MW
  • python中旋转图像:推断背景颜色

    我使用以下 python 代码旋转图像 from PIL import Image img Image open banana jpg rotated img rotate 10 rotated save banana rotated jp
  • 使用 BufferedImages 获取图像每个像素的颜色

    我试图获取图像的每个像素的每种颜色 我的想法如下 int pixels BufferedImage image image ImageIO read this getClass getResources image png int pixe
  • 如何随机获得Material Design Color?

    谷歌有他们的颜色 指南 http www google com design spec style color html 那么如何随机接收一个颜色呢 有没有办法指定表中的数字并从表的所有颜色中接收随机颜色 例如getMatColor 100
  • ggplot2 使用 geom_line 手动指定颜色

    我正在尝试绘制下面的图表 并想手动指定颜色 我需要按基因型绘制 因为有多个基因型属于同一个 Bgrnd All 并且我希望它们在绘制的线条中单独出现 但是 我想按 Bgrnd All 对线条进行着色 特别是按照我在 scale fill m
  • 在有其他限制的情况下向有向无环图添加边

    我有一个 DAG 我有这个操作来在两个节点之间添加一条边 如果 A 可从 B 到达 则 B 是 A 的父级 如果 A 可以从 B 到达 而无需通过另一个节点 则 B 是 A 的直接父节点 该图的要求是 没有循环 对于任何节点 都有一个直接父
  • 删除networkx有向图中入度和出度等于1的所有节点

    假设我在 NetworkX 中制作了一个有向图 import networkx as nx G nx DiGraph n A B C D E F H I J K L X Y Z e A Z Z B B Y Y C C G G H G I I
  • 如何使ggplot2图形与R中的黑白打印(复印友好)兼容?

    有没有办法转换ggplot2绘制成黑白版本而不重写大部分代码 以便黑白版本保持可读性 例如 要替换scale fill gradient with scale fill grey 或者自动进行适合复印的转换 如网站http colorbre
  • delphi分组框标题颜色变化

    我正在使用 BDS 2006 想知道您是否可以使用项目中存在的 XPmanifest 更改组框和单选按钮组标题的颜色 因为它始终是蓝色 唯一的方法是重写 Paint 方法TGroupBox http docwiki embarcadero
  • CSS:为表格中选定的行设置颜色

    我需要将以下功能添加到我的表中 当用户单击一行 选择它 时 该行会用颜色标记 FFCF8B 与hover 我试过 newspaper b tbody tr selected td 但它不起作用 newspaper b border coll
  • 覆盖按钮的文本颜色不起作用

    我使用每个按钮上的buttonBarStyle 和布局上的buttonBarButtonStyle 为按钮栏创建了一个自定义主题 它工作正常 但我想更改按钮的文本颜色 但它仍然采用默认颜色 android color primary tex
  • Mathematica 作业中不需要的评估:为什么会发生这种情况以及如何在包加载过程中对其进行调试?

    我正在开发一个 大 包 它不再正确加载 这是在我更改一行代码后发生的 当我尝试加载包 需要 时 包开始加载 然后 setdelayed 定义之一 活跃起来 即以某种方式进行评估 被困在之前加载几行的错误捕获例程中 并且包加载中止 使用 ab
  • 如何将无向图转换为 DAG?

    The 维基页面 http en wikipedia org wiki Directed acyclic graph Relation to other kinds of graphs says 任何无向图都可以通过为其顶点选择总顺序并将每

随机推荐

  • 在 C# 中读取并发送 mp4 文件

    我使用以下代码从服务器读取 mp4 文件并通过 http 发送它 我的服务器端是 mvc4 控制器 有趣的是 视频在 Chrome 中渲染得很好 但在 ios 设备上没有得到任何东西 所以我认为这可能是响应流标头问题 我缺少什么吗 var
  • 具有自定义字段名称的 RavenDB 查询索引

    我在 RavenDB 中收集了 Message 文档 定义 class Message string Content Tag Tags class Tag string Value 我有索引 from doc in docs Message
  • 如何使用循环将值添加到 VARRAY

    我有一个 VARRAY 我想通过使用循环向该 VARRAY 添加元素 这是我到目前为止所尝试过的 DECLARE TYPE code array IS VARRAY 26 OF VARCHAR2 6 codes code array BEG
  • WP8 + 将文件上传到 Skydrive

    我正在尝试将一个简单的 cer 文件上传到 SkyDrive 不管LiveConnectClient Method我用了 没有任何反应 没有编译 运行时或其他异常 我的应用程序从未收到LiveOperationResult 我正在使用模拟器
  • 如何显示 Jupyter 笔记本的版本并在 Jupyter 笔记本中运行单元?我收到错误:错误的解释器

    我已经安装了 Anaconda 并使用 conda 环境和 conda 命令来安装软件 当我输入 jupyter notebook version 我收到以下错误 zsh Users cr517 local bin jupyter bad
  • 如何基于Vuetify创建自己的组件库

    我想基于 Vuetify 创建我的组件库并在 npm 上发布 Vuetify 已经有 vue plugin 标准安装并使用 vuetify loader 我认为这是一个比纯 HTML 组件更复杂的场景 例如 我想创建我的登录表单 my 文章
  • 如何检测并突出显示鼠标悬停时的矩形

    我在 C net 中创建了一个 Windows 应用程序控件 以图形模式显示一些对象 为此 我根据列表中的项目数量创建了一个矩形 并使用 Control OnPaint 事件将其绘制在控件上 现在 如果鼠标悬停在该矩形上 我想突出显示该矩形
  • Kubernetes:无法创建存储库

    我正在跟进Kubernetes 入门指南 http kubernetes io docs hellonode 一切都很顺利 直到我跑步 gcloud docker push gcr io
  • 将文件转换为 Ascii 抛出异常

    后果我之前的问题 https stackoverflow com questions 31742609 how to strip the leading unciode characters from a file 31742694 nor
  • 如何设置 QTableView 中特定单元格的线条样式?

    我正在使用 QT GUI 我正在使用 QTableView 实现一个简单的十六进制编辑控件 我最初的想法是使用一个有十七列的表格 表的每一行都有 16 个十六进制字节 然后在第十七列中显示该数据的 ASCII 表示形式 理想情况下 我想编辑
  • YouTube Data API v3 没有资源的唯一 ID

    这让我很困惑 而且看起来有点可笑 当我在数据 API 上执行两个不同的查询时 以活动列表端点 https developers google com youtube v3 docs activities list作为概念证明 id请求之间的
  • 控制 n 个重叠区域的 alpha 混合/不透明度

    我很难理解 和控制 alpha 的混合 不幸的是 alpha 值并不是简单地 相加 0 5 0 5 不是 1 但我怎样才能做到这一点呢 目的是定义重叠区域相对于观测总数的 绝对 灰度值 请参见下面的示例 我尝试设置scale alpha r
  • 如何将表达式传递给ggplot中的geom_text标签? (继续)

    这是我的后续原问题 https stackoverflow com questions 63813557 how to pass an expression to a geom text label in ggplot了解如何将带下标的表达
  • 控制器对延迟作业的操作

    我正在上传一个制表符分隔的文档并在控制器中进行处理 一切正常 但处理大文件可能需要一些时间 我想将其移至delay job 我在应用程序的其他地方工作 但由于这是在控制器中 因此无法以相同的方式调用 该表单调用 process file 操
  • XSD 到 XForms 以及 XForms 到 XSD 转换

    目前我正在努力解决两个问题 我从外部服务器接收到一个 XSD 文件 并且基于该文件我必须生成 XForm 通常 XSD 文件会导入许多其他 XSD 文件等等 我正在使用 XForm 构建器编写 GUI 当用户构建他的自定义 XForm 时
  • Ember 组件在路由或控制器中调用操作

    我有一个组件 其主要目的是显示一行项目 每行都有一个删除按钮 可以删除一行 如何将操作从模板传递到将在路由器中触发操作的组件 这是使用该组件的模板 templates holiday hours hbs each model as holi
  • jquery mobile取消302重定向到外部站点

    我正在尝试将 DotNetOpenAuth 与使用 jquery mobile 的网站集成 我遇到了一个问题 jquery mobile 似乎正在取消到服务器响应的提供方 外部站点 的 302 重定向 我尝试在 mobileinit 事件中
  • 为什么弹性物品会包裹而不是收缩?

    我想知道是否有人可以给我一个关于如何计算 Flexbox 布局的简单介绍 特别是优先级顺序 例如 div style display flex div style height 200px background color lightgre
  • gcc 无效版本(最大)错误添加符号:错误值

    我已经在 Linux x86 x64 上成功构建了几个 32 位静态和共享库 现在我尝试将它们链接到一个可执行文件 但出现以下错误 usr bin ld foo so moddi3 invalid version 21 max 0 foo
  • 在 Mathematica 中创建具有不同颜色边的图形

    我想创建一个图 图论 其中某些边具有与其他边不同的颜色 这将用于突出显示图中从一个顶点到另一个顶点的路径 以下是一些具有不同颜色边缘的示例http demonstrations wolfram com AGraphTheoryInterpr