R plot_ly строка или датафрейм в пользовательских визуальных элементах PowerBI - PullRequest
0 голосов
/ 20 апреля 2019

Я следую: http://radacad.com/create-custom-visual-with-r-and-json-part3

Здесь упоминается, что с кодом ниже R мы можем построить график:

Values<-data.frame(X,Y,Legend,Row,Column)

g=ggplot(Values, aes(x=X, y=Y,colour = Legend)) 

Я использую подобные реализации.

Ниже кода отображается пустой график с единственной осью:

Values <- data.frame(mpg_test, cyl_test)
p <- plot_ly(Values,
  x = ~mpg_test,
  y = ~cyl_test,
  name = "SF Zoo",
  type = "bar"
)

Пустой график enter image description here Ниже кода также отображается пустой график:

Values <- data.frame(mpg_test, cyl_test)
p <- plot_ly(Values,
  x = mpg_test,
  y = cyl_test,
  name = "SF Zoo",
  type = "bar"
)

Ниже кода отображается правильный график:

Values <- data.frame(mpg_test, cyl_test)
p <- plot_ly(Values,
  x = ~mpg_test[1:nrow(Values), ], 
  y = ~cyl_test[1:nrow(Values), ],
  name = "SF Zoo",
  type = "bar"
)

Правильный график:

enter image description here Я сомневаюсь, что согласно руководству я должен получить столбцы в mpg_test и cyl_test, тогда почему я получаю что-то вроде dataframe здесь. Работает ли по-разному с использованием ~?

Пожалуйста, помогите. Кроме того, есть ли способ использовать mpg_test и cyl_test без nrow(Values) внутри plot_ly


script.r

source('./r_files/flatten_HTML.r')

############### Library Declarations ###############
libraryRequireInstall("ggplot2");
libraryRequireInstall("plotly")
####################################################

################### Actual code ####################
Values <- data.frame(mpt_test, cyl_test)

p <- plot_ly(Values,
  x = ~mpt_test[1:nrow(Values), ],
  y = ~cyl_test[1:nrow(Values), ],
  name = "SF Zoo",
  type = "bar"
)

####################################################

############# Create and save widget ###############
#p = ggplotly(p);
internalSaveWidget(p, 'out.html');
####################################################

capabilities.json

{
  "dataRoles": [
    {
      "displayName": "Mileage Per Gallon",
      "kind": "GroupingOrMeasure",
      "name": "mpg_test"
    },
    {
      "displayName": "Cylinder Size",
      "kind": "GroupingOrMeasure",
      "name": "cyl_test"
    }
  ],
  "dataViewMappings": [
    { "conditions": [
                {
                    "mpg_test": {
                        "max": 1
                    },
                    "cyl_test": {
                        "max": 1
                    }
                }
            ],
      "scriptResult": {
        "dataInput": {
          "table": {
            "rows": {
              "select": [
                {
                  "for": {
                    "in": "mpg_test"
                  }
                },
                {
                  "for": {
                    "in": "cyl_test"
                  }
                }
              ],
              "dataReductionAlgorithm": {
                "top": {}
              }
            }
          }
        },
        "script": {
          "scriptProviderDefault": "R",
          "scriptOutputType": "html",
          "source": {
            "objectName": "rcv_script",
            "propertyName": "source"
          },
          "provider": {
            "objectName": "rcv_script",
            "propertyName": "provider"
          }
        }
      }
    }
  ],
  "objects": {
    "rcv_script": {
      "properties": {
        "provider": {
          "type": {
            "text": true
          }
        },
        "source": {
          "type": {
            "scripting": {
              "source": true
            }
          }
        }
      }
    }
  },
  "suppressDefaultTitle": true
}
...