我想更改在同一顶点处开始和结束的边的方向。当我使用plot.igraph时,这些边缘全部朝右,这意味着圆左侧的顶点的边缘将与其他边缘重叠。有谁知道我们如何控制他们的方向,例如指向圆的外面?下面是我要编辑的实际图形。
下面是一个小例子,供您参考:
PriceCodes
答案 0 :(得分:3)
您可以使用参数edge.loop.angle
进行控制。
请参阅帮助页面?igraph.plotting
plot(graph, layout = layout.circle(graph),
edge.loop.angle=c(0,0,4*pi/3,0, 2*pi/3,0))
请注意,您需要为所有边缘提供一个角度,而不仅仅是循环,即使这仅适用于循环。而且,该角度似乎表示从水平方向顺时针旋转的量。
答案 1 :(得分:0)
问题在于,所有的边缘必须被引用,这使得大型网络难以使用。这似乎可行:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CompositeKeyTrait;
class Order extends Model{
use CompositeKeyTrait;
protected $table = "order";
protected $fillable = [
'id_order',
'id_trip',
'id_users_customer',
'date_order',
'id_users_operator'
];
protected $primaryKey = ['id_order', 'id_trip'];
public function detail_order(){
return $this->hasMany(Detail_Order::class);
}
}
然后,当您调用igraph时,请像这样使用它:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CompositeKeyTrait;
class Detail_Order extends Model{
use CompositeKeyTrait;
protected $table = "detail_order";
protected $fillable = [
'id_trip',
'id_seat',
'id_users_feeder',
'id_order',
etc
];
protected $primaryKey = ['id_trip', 'id_seat'];
public function order(){
return $this->belongsTo(Order::class, 'id_order', 'id_trip');
}
}