0 / 0 / 0
Регистрация: 23.05.2015
Сообщений: 6
1

Graphviz. Ошибка "dot: can't open dot"

14.05.2017, 19:35. Показов 2593. Ответов 2

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Пытаюсь разобраться с Graphviz для визуализации графа, в интернете был найден такой код:

Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using QuickGraph;
using QuickGraph.Graphviz;
using QuickGraph.Graphviz.Dot;
 
namespace GKS_Full_v1
{
    public class Graph
    {
        AdjacencyGraph<string, Edge<string>> graph = new AdjacencyGraph<string, Edge<string>>();
        public void Test()
        {
            graph.AddVertex("A");
            graph.AddVertex("B");
 
            graph.AddEdge(new Edge<string>("A", "B"));
 
            var graphViz = new GraphvizAlgorithm<string, Edge<string>>(graph, @".", GraphvizImageType.Gif);
            graphViz.FormatVertex += FormatVertex;
            graphViz.FormatEdge += FormatEdge;
            graphViz.Generate(new FileDotEngine(), "graph.dot");
        }
 
        private static void FormatVertex(object sender, FormatVertexEventArgs<string> e)
        {
            e.VertexFormatter.Label = e.Vertex;
            e.VertexFormatter.Shape = QuickGraph.Graphviz.Dot.GraphvizVertexShape.Box;
            e.VertexFormatter.StrokeColor = GraphvizColor.Black;
            e.VertexFormatter.Font = new GraphvizFont("Calibri", 11);
        }
 
        private static void FormatEdge(object sender, FormatEdgeEventArgs<string, Edge<string>> e)
        {
            e.EdgeFormatter.Head.Label = e.Edge.Target;
            e.EdgeFormatter.Tail.Label = e.Edge.Source;
            e.EdgeFormatter.Font = new GraphvizFont("Calibri", 8);
            e.EdgeFormatter.FontGraphvizColor = GraphvizColor.Black;
            e.EdgeFormatter.StrokeGraphvizColor = GraphvizColor.Black;
        }   
    }
 
    public sealed class FileDotEngine : IDotEngine
    {
        public string Run(GraphvizImageType imageType, string dot, string outputFileName)
        {
            string output = outputFileName;
            System.IO.File.WriteAllText(output, dot);
 
            Process process = new Process();
            process.StartInfo = new ProcessStartInfo("@"C:\Program Files (x86)\Graphviz2.38\bin\dot.exe"");
            process.StartInfo.Arguments = @"dot -Tgif graph.dot -o graph.png";
            process.Start();
 
            return output;
        }
    }
}


Получаю ошибку:
Error: dot: can't open dot

Может кто-нибудь помочь разобраться, в чём проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2017, 19:35
Ответы с готовыми решениями:

Dot.net или front end
Здраствуйте! Подскажите пожалуйста. Я хочу задать вопрос. Возможно многим он покажется глупым, но...

Как можно получить данные из файла .dot для дальнейшей работы
Здравствуйте, уважаемые! Помогите пожалуйста! Как можно выцепить данные из файла .dot для...

InterBase and Dot.net(help!!!)
люди памагите диплом горит!!! Значит скачал IBProvider Professional Edition начал подключатсо к...

DOT GraphViz
День добрый, подскажите как выравнять графы, и вообще сделать более похожим :wall: digraph {...

2
53 / 53 / 17
Регистрация: 12.02.2017
Сообщений: 261
14.05.2017, 19:43 2
Цитата Сообщение от Takeshi Посмотреть сообщение
QuickGraph.Graphviz.Dot;
Ошибка указывает на то что у вас возможно не подключена библиотека или ее нет
0
0 / 0 / 0
Регистрация: 23.05.2015
Сообщений: 6
14.05.2017, 20:16  [ТС] 3
Библиотека подключена через NuGet пакеты, так что я всё ещё не понимаю, в чем проблема(
0
14.05.2017, 20:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2017, 20:16
Помогаю со студенческими работами здесь

[Graphviz / DOT] Пытаюсь настроить приближение графа при открытии файла html
Я думаю, что-то нужно сделать с параметром fit 1.Пробовала zoom, но он убирает всю динамику...

unbound dot, non-dot mix
использование tls задаётся для домена, а не для конкретного форварда. но что делать, когда для...

Написать функции для преобразования IP адреса из dot-decimal нотации в int и из int в dot-decimal нотацию
IP-адрес - это четверка a.b.c.d, где a, b, c, d целые числа из интервала . Требуется написать...

После манипуляций с Normal.dot при каждом открытии Word возникает ошибка
Здравствуйте, стало появляться такое сообщение: Could not load some objects because they are not...

(::, . (dot) and -> (arrow)
Что когда применяется?

Регистрация на Dot TK
Разъясните подробно как мне привязать заргестрированный домен на Dot TK в: www.hostinger.com.ua и...

LibreOffice, dot
Доброго времени суток! Пытаюсь поставить верхнюю точку над формулой с большим нижним индексом в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru