我相对较新的networkx和使用matplotlib.pyplot进行绘图,并想知道如何修改节点轮廓的颜色(或其他属性,如重量)."轮廓"我不是指两个节点之间的弧或边; 我指的是圆圈周围的细黑线,默认用于在绘制网络时表示节点.
例如,当我创建一个只有一个节点的图形并显示它时:
from networkx import *
import matplotlib.pyplot as plt
plt.ion()
G = Graph()
G.add_node(1)
draw(G)
Run Code Online (Sandbox Code Playgroud)
我看到一个红色的节点,黑色轮廓很薄(里面有一个黑色的"1",这是节点的标签).如何将轮廓的颜色从黑色更改为红色("#FF0000")或其他颜色?或者,我可以完全抑制轮廓的显示吗?
我想象必须有一个属性,类似于edge_color或node_color,我可以设置.但是,我无法通过网络搜索,networkx文档或查看图库示例找到此类属性.如果有人可以指出我将非常感谢的适当属性.谢谢!
新手问题:如何从x轴进一步移动x轴刻度标签?下面的代码片段产生了这样的:

而我想要的更像是这样的:

从这里的问题:
似乎我需要选择包含这些标签的文本select然后应用类似的东西translate(0,-10),但我无法弄清楚这个文本"生活"的位置/执行这种选择的语法.对不起,如果这很简单; 我是D3(和javascript)的新手.有人可以帮忙吗?提前致谢!代码如下.
<script>
var superscript = "?¹²³??????",
formatPower = function(d) { return (d + "").split("").map(function(c) { return superscript[c]; }).join("");\
};
var margin = {top: 20, right: 20, bottom: 100, left: 100},
width = 400,
height = 400;
var x = d3.scale.log()
.domain([1e1, 1e4])
.range([0, width])
.nice();
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.tickValues([1e1, 1e2, 1e3, 1e4])
.ticks(0, function(d) { return 10 + formatPower(Math.round(Math.log(d) / Math.LN10)); });
var svg = d3.select("body").append("svg")
.attr("width", width …Run Code Online (Sandbox Code Playgroud) attributes ×1
axis-labels ×1
d3.js ×1
javascript ×1
matplotlib ×1
networkx ×1
nodes ×1
python ×1