我使用 dot 来渲染图表,效果很好。
现在我需要以某种方式获得点分配给每个节点的排名,有办法做到吗?
例如来自这个 .dot 文件:
digraph D {
Ivan -> Herbert [label="15,16"];
Ivan -> Diego [label="23", color="slategray"];
Roberto -> Herbert [label="17,18"];
Roberto -> Ivan [label="19,20"];
Diego -> Roberto [label="21", color="slategray", style=dashed, color=red, constraint=false]
{rank=max;}
}
Run Code Online (Sandbox Code Playgroud)
我想获得以下信息:
rank of "Roberto" is 1
rank of "Ivan" is 2
rank of "Diego" is 3
rank of "Herbert" is 3
Run Code Online (Sandbox Code Playgroud)
其中节点的等级是其在图形渲染中的深度,即顶部节点的等级为1,其子节点的等级为2,依此类推。
请注意,我的图表通常比较复杂,并且总是包含循环,并且向用户显示视觉布局,因此“自己动手”方法不适用,因为每个节点的排名需要与点渲染相同。
我目前正在使用 python,但我可以使用任何其他工具来实现此目的。
我一直在尝试将一个简单的字符串转换为浮点数,但我没有运气.这就是我现在所拥有的:
int main()
{
float value;
std::string stringNum = "0.5";
std::istringstream(stringNum) >> value;
return 0
}
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误:
Error 2 error C2440: '<function-style-cast>' : cannot convert from 'std::string' to 'std::istringstream' c:\users\administrator\desktop\Test\main.cpp 12
Run Code Online (Sandbox Code Playgroud)
谁能给我一些关于如何简单地将字符串转换为浮点数的指导?
谢谢