2016-10-10 2 views
1

У меня есть фрейм данных Deedle с значениями DateTime как ключ и два столбца с данными. Теперь я хочу построить данные столбца 1 с диаграммой Scatter от Plotly.Построение данных каротажа данных deedle с использованием графика Xplot

Я использую FSLab и XPlot.Plotly 1.3.1 включен.

Но я не могу использовать Plotly:

open XPlot.Plotly.Graph 
open XPlot.Plotly 
open XPlot.Plotly.HTML 

let dataFrame = ... 

Scatter(
    x = dataFrame.ColumnKeys, 
    y = dataFrame.GetColumn("col1") 
) 
|> Chart.Plot 
|> Chart.Show 

Я получаю эту ошибку:. «В поле, конструктор или элемент„“Plot не определен

ли я что-то не хватает?

+0

Вы попробовали ссылку XPLot напрямую? – s952163

+1

Ну, это немного радикально, но вы можете просто заменить dll в xplotly каталоге Fslab с версией 1.4.2. Тогда это работает. Я не редактировал другие сценарии. – s952163

ответ

1

Не уверен, что это последняя версия XPlot, но я получаю 1.4.2 в NuGet Таким образом, чтобы сделать вещи просто я избегал все волшебство FSLab на этот раз:.

//#load @"..\..\FSLAB\packages\FsLab\FsLab.fsx" 
#r @"..\packages\XPlot.Plotly.1.4.2\lib\net45\XPlot.Plotly.dll" 
#r @"..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll" 
open XPlot.Plotly 
open XPlot.Plotly.Graph 

let layout = Layout(title = "Basic Bar Chart") 

["giraffes", 20; "orangutans", 14; "monkeys", 23] 
|> Chart.Bar 
|> Chart.WithLayout layout 
|> Chart.WithHeight 500 
|> Chart.WithWidth 700 
|> Chart.Show 


let lineTrace1 = 
    Scatter(
     x = [1; 2; 3; 4], 
     y = [10; 15; 13; 17], 
     mode = "markers" 
    ) 

lineTrace1 |> Chart.Plot |> Chart.Show 

Теперь это будет отображать диаграммы в браузере. Я считаю, что вы можете связать его с WPF или winforms.

Редактировать

Как это работает для вас, но вам все еще нужно FSLab, легкий путь, чтобы заменить XPlot.Plotly.dll и файл XML в ...\FSLAB\packages\XPlot.Plotly\lib\net45.

Тогда вы можете позвонить XPlot.Plotly без необходимости прямого обращения к dll.

#load @"..\..\FSLAB\packages\FsLab\FsLab.fsx" 
open XPlot.Plotly 
open XPlot.Plotly.Graph 
open XPlot.Plotly.Html 

let layout = Layout(title = "Basic Bar Chart") 
["giraffes", 20; "orangutans", 14; "monkeys", 23] 
|> Chart.Bar 
|> Chart.WithLayout layout 
|> Chart.WithHeight 500 
|> Chart.WithWidth 700 
|> Chart.Show 
+1

Я тоже пробовал, и он работает с последней версией библиотеки XPlot. Но если я не использую скрипт Fslab, я получаю много других ошибок. Например, тогда я должен ссылаться на множество системных пакетов (например, System.Runtime) для своих собственных. И я не знаю, почему, потому что в скрипте Fslab нет никакой ссылки на эти DLL. – CPA

+0

@cpa Эти ошибки, вероятно, исходят из других вещей, которые вы можете использовать из FSLab, например Deedle. Возможно, это означает, что существует некоторая несовместимость между Xplotly и FSLab. Вам нужно использовать Plotly? Googlecharts в Xplot работал, когда я проверял (из сценария FSLAB). – s952163

Смежные вопросы