Я пытаюсь визуализировать график в C с помощью библиотеки graphviz. Граф задается матрицей смежности. Граф направлен и есть проблема. Я работаю с матрицей и создаю ребро между n и m, и так далее, но ребро между m и n тоже есть, и я создаю другое ребро. В результате графвиз рисует, как и положено, два ребра, но граф с большим количеством ребер читать очень сложно. Я хочу создать одно ребро со стрелкой, направленной в обе стороны, но не знаю, как это сделать правильно. (Есть дурацкая идея сначала создать файл с описанием графа (добавить в описание ребра [dir=оба]), а уже потом его обработать и нарисовать граф. Уверен есть решение получше , но я этого не знаю.)
Я работаю с матрицей следующим образом:
for(i=0; i<n; i++)
nodes[i] = agnode(g, itoa(i+1, name)); // Agnode_t *nodes[100];
for(i=0; i<n; i++)
for(j=0; j<n; j++)
if(matrix[i][j])
agedge(g, nodes[i], nodes[j]); // add edges
Спасибо за ваши ответы!
P.S. Извините меня за мой плохой английский.