小编She*_*rry的帖子

Networkx 绘图标签部分在框外

只画一个非常简单的4节点网络,

import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
node1 = "116.251.211.248"
node2 = "5.79.100.165"
node3 = "http.anturis.com"
node4 = "s411993.ip-37-187-141.eu"
G.add_node(node1)
G.add_node(node2)
G.add_node(node3)
G.add_node(node4)
G.add_weighted_edges_from([(node1, node2, 0.742345), (node1, node3, 0.916954), (node1, node4, 0.662011), (node1, node4, 0.818537), (node2, node3, 0.947824), (node2, node4, 0.800774), (node3, node4, 0.928537)])
pos=nx.shell_layout(G)
nx.draw(G, pos, with_labels=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我的问题是边缘标签部分落在盒子外面

在此处输入图片说明

我是用 networkx 绘图的新手。如何在左侧和右侧添加边距以便显示完整标签?

python networkx

4
推荐指数
1
解决办法
1592
查看次数

是否可以使用`std :: copy`将值从可变大小的数组复制到容器?

以下是一个MergeSort实现。我的问题是,编译器抱怨std::begin无法将其应用于可变大小的数组 temp以进一步使用std:copy

我正在使用C ++ 17和gcc 8.3

template<typename Container, typename Iterator>
void Search::MergeSort(Container &array, Iterator begin, Iterator end)
{
    auto const len = end - begin;
    if (len > 1)
    {
        auto mid = begin + len / 2;
        MergeSort(array, begin, mid); 
        MergeSort(array, mid, end); 

        typename Container::value_type temp[len];

        int p = 0;
        for (auto i = begin, j = mid; i < mid; ++i)
        {
            auto curr = *i; …
Run Code Online (Sandbox Code Playgroud)

c++ templates variable-length-array c++17 stdcopy

3
推荐指数
1
解决办法
258
查看次数