2016-04-13 2 views
1

Я контролирую данные с помощью Grafana, и он показывает мне графики в элементе Canvas HTML5. Мне интересно, как-нибудь я могу получить доступ к этим данным с помощью JavaScript?Canvas Graph - Получить данные от Grafana

Я понимаю, что Canvas является объектом Graphic, но поскольку я могу взаимодействовать с графиком, наведите указатель мыши на определенную точку и получите больше данных на нем, я предполагаю, что он должен каким-то образом получить эти данные.

Interaction example

К сожалению, я не мог найти способ сделать это. Кто-нибудь знает, если и как вы можете это сделать?

Я проверил методы элемента Canvas и также проверил Интернет.

Заранее благодарен!

Приветствия

+1

Сам холст просто держит изображение, thi nk его как что-то, что можно «раскрасить». Он не содержит информации об этом изображении. Чтобы получить данные, связанные с вашим графиком, вам нужно будет выяснить, что делает чертеж, и где он получает данные для этого. – IrkenInvader

+0

Имеет смысл, и теперь я также понимаю, почему Canvas не может вернуть данные. Должно быть от AngularJS, проверит это Спасибо! – the0MIKE

ответ

1

Полотно элемент, по существу, белая доска, что вы можете рисовать на. Это означает, что он используется для некоторых фантастических пользовательских интерфейсов и представлений данных, таких как график, на который вы ссылались. Это также означает, что вы не можете видеть ничего логичного о холсте, отличном от его текущего изображения (среди всех обычных функций холста для рисования и т. Д.).

Чтобы найти нужные данные, вам нужно будет посмотреть на JS, который в комплекте с ним. Однако, если данные поступают от службы, например Grafana, у нее, вероятно, будет сопутствующий API. К счастью, вы сможете ухватить нужные данные, используя их API.

Пример запроса:

GET /api/datasources/1 HTTP/1.1 
Accept: application/json 
Content-Type: application/json 
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk 

Пример ответа:

HTTP/1.1 200 
Content-Type: application/json 

{ 
    "id":1, 
    "orgId":1, 
    "name":"test_datasource", 
    "type":"graphite", 
    "access":"proxy", 
    "url":"http://mydatasource.com", 
    "password":"", 
    "user":"", 
    "database":"", 
    "basicAuth":false, 
    "basicAuthUser":"", 
    "basicAuthPassword":"", 
    "isDefault":false, 
    "jsonData":null 
} 

Подробнее на http://docs.grafana.org/reference/http_api/#get-a-single-data-sources-by-id

0

Сам холст просто держит изображение, думать об этом как-то, что может быть «окрашены». Он не содержит информации об этом изображении. Чтобы получить данные, связанные с вашим графиком, вам нужно будет выяснить, что делает чертеж, и где он получает данные для этого.

Спасибо @IrkenInvader

0

вы можете экспортировать данные графика в формате CSV или файла JSON, просто нажмите на заголовок графика, затем меню гамбургера, затем экспорт