Вы ищете свойство plotOptions.column.allowPointSelect : API - allowPointSelect
Просто обновите строку 25 в своем коде:
hc_plotOptions(series = list(stacking = FALSE, allowPointSelect = TRUE, events = list(click = canvasClickFunction, legendItemClick = legendClickFunction))) %>%
Чтобы выбрать более 1 точки, удерживайте нажатой кнопку ctrl .
После выполнения некоторого оглядывания я столкнулся с этим решением. Таким образом, я могу получить текст элемента и доступ любые атрибуты узла.
$hrefs = $xpath->query('//a:Books', $dom);
for ($i = 0; $i < $hrefs->length; $i++) {
$arrBookTitle[$i] = $hrefs->item($i)->nodeValue;
$arrBookDewey[$i] = $hrefs->item($i)->getAttribute('DeweyDecimal');
}
Одно единственное выражение XPath, которое выберет и текстовые узлы "a:Books" и их атрибут "DeweyDecimal", следующее
//a:Books/text() | //a:Books/@DeweyDecimal
Действительно отметьте использование оператора объединения XPath в выражении выше.
Другое примечание: постарайтесь не использовать "//" сокращение, поскольку оно может заставить целый XML-документ быть пересеченным и таким образом очень дорого. Рекомендуется использовать более определенное выражение XPath (такой как состоящий из цепочки определенных шагов местоположения) всегда, когда структура XML-документа известна.
Вы могли запросить для конкатенации?
$xpath->query('concat(//a:Books/text(), //a:Books/@DeweyDecimal)', $dom);
XSLT является языком выражения сам по себе, и можно создать любой определенный формат возвращаемого значения, которое Вы хотите из выражения.
Если Ваш просто получают значения из Вашего XML-документа, SimpleXML мог бы быть более минимизированным, более быстрым и более дружественным для памяти решением:
$xml=simplexml_load_string($response->getBody());
$xml->registerXPathNamespace('a', 'http://www.example.com');
$books=$xml->xpath('//a:Books');
foreach ($books as $i => $book) {
$arrBookTitle[$i]=(string)$book;
$arrBookDewey[$i]=$book['DeweyDecimal'];
}