C # и R.Net не отображает график с помощью ggplot2

У меня есть следующий код для построения моей входной серии с использованием R-диаграмм из моего приложения C #:

public void plotGraphR_2D ( Список <double> x , double [,] y ) { string Rpath = @ "C:  Program Files  R  R-3.1.0  bin  x64" ;  

       

    REGINE . SetEnvironmentVariables ( Rpath ); Цвет двигатель = цвет . GetInstance ();
     

    var v1 = двигатель . CreateNumericVector ( x ); var v2 = двигатель . CreateNumericMatrix ( y );
    

    если ( двигатель . IsRunning == ложь ) { 
        двигателя . Инициализировать (); }   
    
    

    двигатель . SetSymbol ( "v1" , v1 ); 
    двигатель . SetSymbol ( "v2" , v2 );

    двигатель . Оценить ( "require ('ggplot2')" ); 
    двигатель . Оценить ( "library ('ggplot2')" ); 
    двигатель . Evaluate ( "my_data <- data.frame (v2)" ); 
    двигатель . Оценить ( «colnames (my_data) <- c (« Цена »,« Количество »)» ); 
    двигатель . Оценить ( "myChart <- ggplot () + geom_line (data = my_data, my_data $ Price)" ); // это не работает 
    двигатель . Оценить ( «myChart» ); //engine.Evaluate("plot(my_data$Price) "); // ЭТО РАБОТЫ } prettyprinted "> 
    
print

Мой вход x является списком, а y является 2-мерным массивом. Сначала я конвертирую x в числовой вектор и y в фрейм данных, а затем меняю имена столбцов на фрейм данных. Я хочу построить один из столбцов моего фрейма данных ( my_data $ Price ), но при использовании ggplot2 он не работает. Я не получаю никаких ошибок, но я не вижу ни одной диаграммы. Если я попытаюсь использовать последний движок строки. Evaluate («plot (my_data $ Price)») (так обычный график), он отлично работает. Есть ли проблема с тем, как я называю ggplot2 ? Я установил библиотеку с RStudio . Что-нибудь еще, что я должен сделать, чтобы исправить проблему?

Благодарю.

c#,r,plot,ggplot2,rdotnet,

1

Ответов: 1


1 принят

Предоставленный R-код не работает, как сообщается. Приведенный ниже код действительно создает ggplot, однако printоператор создает окно графического устройства, но показывает неправильный дисплей (пустая форма). Так что да, есть проблема, но я точно не знаю почему. Единственным обходным решением, которое я могу предложить, является попытка вывода изображений на диск.

        engine.Evaluate("myChart <- ggplot(my_data, aes(x=Price, y=Quantity)) + geom_line()");
        engine.Evaluate("print(myChart)");
C #, г, участок, ggplot2, rdotnet,