我目前正在使用igraph,并将颜色标记为我的顶点.我想添加一个图例指示每种颜色代表什么.
我现在能想到的是使用ggplot2只打印图例并隐藏条形图.有没有办法输出传奇?
是一种重新绘制内容但使用子集数据集而无需再次编写整个代码的方法吗?
也许像last_plot(),但允许一个特定的data.frame使用?
我遇到AWK的字段分隔符问题,输入文件如下所示
1 | 所有| | 同义词|
1 | 根| | 学名|
2 | 细菌| 细菌| 学名|
2 | Monera | Monera | 部分|
2 | Procaryotae | Procaryotae | 部分|
2 | 原核生物| 原核生物| 部分|
2 | 原核生物| 原核生物| 部分|
2 | 细菌| 细菌| 爆炸名称|
这里的字段分隔符是制表符,管道,制表符,\t|\t
所以我尝试只打印第1列和第2列
awk -F'\t|\t' '{print $1 "\t" $2}' nodes.dmp | less
Run Code Online (Sandbox Code Playgroud)
而不是所需的输出,输出是第一列,后跟管道字符.我试图逃避管道\t\|\t,但输出保持不变.
1 |
1 |
2 |
2 |
2 |
2 |
打印第1列和第3列给了我原始的预期输出.
awk -F'\t|\t' '{print $1 "\t" $3}' nodes.dmp …Run Code Online (Sandbox Code Playgroud) 我根据以下数据生成了一系列圆圈和文本字段.见下面的代码.
var data = [{"x":534.720996869109,"y":188.402300350323,"label":"ATP","size":5},
{"x":526.793135268385,"y":494.495864118909,"label":"PK","size":10},
{"x":539.854817710164,"y":332.435549874068,"label":"rpoA","size":10},
{"x":528.357841173126,"y":236.960433131191,"label":"rpoB","size":10}]
var width = 1000,height = 1000;
var x = d3.scale.linear()
.domain([0, 1000])
.range([0, width]);
var y = d3.scale.linear()
.domain([0, 1000])
.range([0, height]);
var svgContainer = d3.select("body")
.append("svg:svg")
.attr("width", width)
.attr("height",height);
//text
var text = svgContainer.selectAll("text")
.data(data)
.enter()
.append("text");
var textbAttributes = text
.attr("x", 800)
.attr("y", 100)
.text(function(d) { return ''})
.attr("font-family", "sans-serif")
.attr("font-size", "20px")
.attr("fill","black");
//circles
var nodesGroup = svgContainer.append("g");
var nodes = nodesGroup.selectAll("circle")
.data(data)
.enter()
.append("svg:circle");
var nodeattr = nodes
.attr("cy", …Run Code Online (Sandbox Code Playgroud) 我希望使用ggplot2绘制线图,该ggplot2由根据我的数据框中的特定列值分组的多行组成.然而,存在没有x轴值的点的情况,我想将y轴y值分配给这样的场合,使得每条线对于每个x轴值具有点.
假设我有一个data.frame,df
number value state
1 1 4 California
2 2 1 Arizona
3 3 5 California
4 4 5 Arizona
5 5 2 Alaska
6 6 3 Arizona
Run Code Online (Sandbox Code Playgroud)
其中列号是因子数据类型.
我想绘制一个线图x轴=数字,y轴=值,并按状态分组.对于这个例子,
number value state
1 4 California
3 5 California
Run Code Online (Sandbox Code Playgroud)
加利福尼亚的线只会连接1和3之间跳过2而不会持续到6.
是否可能有可变字体大小的顶点标签.标记某些节点的字体大小比其他节点大
g1 <- erdos.renyi.game(20, 2/20)
V(g1)$name<-letters[1:vcount(g1)]
plot(g1,vertex.label=V(g1)$name)
Run Code Online (Sandbox Code Playgroud)
了解igraph.plot中有一个vertex.label.cex选项,但它是全局的.
我正在尝试将此列表[1..20]从[Integer]转换为[Int]
map fromInteger [1..20]
Run Code Online (Sandbox Code Playgroud)
但是这仍然给我一个整数列表
这就是它自己的Integer类型转换为Int fromInteger 2 :: Int
怎么了