如何使用相关距离绘制点?

Ann*_*hen 5 python plot dictionary

我有一个点字典:

dictDistances = {A:{B:1.23, C:3.56}, B:{A:1.23, C:2.38}, C:{A:3.56, B:2.38}}
Run Code Online (Sandbox Code Playgroud)

我想在不使用绝对值的情况下绘制它们,即使用字典中的值。我可以画出来,但我不明白,如何在 Python 中做到这一点。

***有3个以上的点,比如300个,我刚刚添加了这本词典,以展示我所拥有的信息类型。

****我的点(每点 3 个)可能不满足或可能满足三角不等式定理

更新

给定点 A、B、C、D、E、F 以及它们之间从 x:y 的一些距离,它会是什么样子:

在此处输入图片说明

在提供的图像上,您可以看到所有距离的集合,即:

AB AC AD AF AE
BA BC BD BF BE
CB CA CD CF CE
DB DC DA DF DE
EB EC ED EF EA
FB FC FD FA FE
Run Code Online (Sandbox Code Playgroud)

更新 2

射线: 射线 A:

在此处输入图片说明

雷乙:

在此处输入图片说明

雷C:

在此处输入图片说明

光线 E、D、F 也是如此。然后我需要以某种方式验证/修改它们。这就是我不明白如何在 Python 中做的事情。虽然完全可以画。

mau*_*uve 1

我相信你需要做的是:

  • 生成一个字典,将点和每个点的距离配对。IE

Dict_comp[A] = set((B, 1.3), (C, 9.5), (D, 20.3)) 等...

  • 强制 A 点位于原点 (0,0)
  • 选择要绘制的第一个点的方向。例如,我将在 (1.3, 0) 处绘制 B。
  • 绘制出前 2 个点后,根据它们与前 2 个点的关系确定每个其他点的坐标。
    • 字典中存在每个点与其他点的距离已知的情况,您可以查找 Dict_comp[C] 并检查与现有点的距离以获取该信息。

matplotlib 中的这个示例将帮助您使用极坐标- 您将从两个现有点中的每一个点获得 r,然后您可以计算出 theta。考虑到这些信息,我永远不会使用两个以上的现有点来定位第三个点。