Строим график PlotLy в Юпитер.Ноутбук
В Юпитер.Ноутбук получим данные для встраивания PlotLy на сайт
Обратите внимание! В блоке выше прямые кавычки могут быть переделаны самим сайтом на апострофы.
При вставке приведённого кода проверьте их и при необходимости, замените.
Получаем блок DIV(отрывок) графика PlotLy:
'<div> <div id="2c6ca52a-b541-4a94-b51b-1489ca227e74" class="plotly-graph-div" style="height:100%; width:100%;"></div> <script type="text/javascript"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("2c6ca52a-b541-4a94-b51b-1489ca227e74")) { Plotly.newPlot( "2c6ca52a-b541-4a94-b51b-1489ca227e74", [{"hovertemplate":"outletname=YouTube Music<br>units=%{x}<br>unit_price=%{y}<br>royalty_amount_customer=%{marker.size}<extra></extra>","legendgroup":"YouTube Music","marker":{"color":"#636efa","size":[1.233006],"sizemode":"area","sizeref":0.0001233006,"symbol":"circle"},"mode":"markers","name":"YouTube Music","orientation": ...
Встраиваем график PlotLy в сайт
- На сайте активируем блок вставки произвольного HTML
- В первую строку блока вставляем активацию подсистемы вывода графика:
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
- Затем – полученный выше блок DIV
Обратите внимание на то, что блок DIV в выводе заключён в одинарные кавычки ‘
Копировать блок для переноса на сайт следует без этих кавычек
В итоге ячейка произвольного HTML выглядит так (отрывок):
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div> <div id="2c6ca52a-b541-4a94-b51b-1489ca227e74" class="plotly-graph-div" style="height:100%; width:100%;"></div> <script type="text/javascript"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("2c6ca52a-b541-4a94-b51b-1489ca227e74")) { Plotly.newPlot( "2c6ca52a-b541-4a94-b51b-1489ca227e74", [{"hovertemplate":"outletname=YouTube Music<br>units=%{x}<br>unit_price=%{y}<br>royalty_amount_customer=%{marker.size}<extra></extra>","legendgroup":"YouTube Music","marker":{"color":"#636efa","size":[1.233006],"sizemode":"area","sizeref":0.0001233006,"symbol":"circle"},"mode":"markers","name":"YouTube Music","orientation":"v","showlegend":true,"x":[400],"xaxis":"x","y":[0.003082515],"yaxis":"y","type":"scatter"},{"hovertemplate":"outletname=Youtube<br>units=%{x}<br>unit_price=%{y}<br>royalty_amount_customer=%{marker.size}<extra></extra>","legendgroup":"Youtube","marker":{"color":"#EF553B","size":[0.063765],"sizemode":"area","sizeref":0.0001233006,"symbol":"circle"},"mode":"markers","name":"Youtube","orientation": ...
И результат, интерактивный график PlotLy на нашем сайте:
Если больше одного графика PlotLy на странице:
Если надо разместить на странице больше одного графика, то для последующих графиков не надо вставлять строку загрузки графической библиотеки.
Досточно лишь DIV блока.
Русский язык в подписях и надписях графика PlotLy
А вот с русским языком в надписях – проблема.
Сама система PlotLy адекватно прорисовывает графики с русскими надписями.
Также верно происходит экспорт графика в html файл.
Однако при экспорте в DIV блок, все кириллические символы заменяются на их коды.
А сайт но вордпресс эти коды не выводит буквами, и выводит эти самые коды и получается белиберда.
Что делать?
- Текст блока DIV графика PlotLy вставить блокнот Windows
- Меню “Заменить”.
- Указываем для поиска “\\”
- Указываем для замены “\”
- Выделяем весь текст и копируем
- Заходим на сайт КОНВЕРТЕР
- (выяснилось, что этот текст с кракозябрами, но с одинарными \ можно сразу вставить на сайт (п. 9)
- Вставляем весь текст в окно Юникод
- Ждём
- В окне Текст выделяем весь текст, копируем и вставляем его в блок “Произвольный HTML”
- Получаем результат.
Содержимое файла (отрывок):
'<div> <div id="2243eb5b-ca2c-4f83-9760-06d60a8d4e48" class="plotly-graph-div" style="height:800px; width:800px;"></div> <script type="text/javascript"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("2243eb5b-ca2c-4f83-9760-06d60a8d4e48")) { Plotly.newPlot( "2243eb5b-ca2c-4f83-9760-06d60a8d4e48", [{"alignmentgroup":"True","hovertemplate":"\\u0421\\u0435\\u0442\\u0435\\u0432\\u043e\\u0435=\\u043d\\u0435\\u0442<br>\\u0422\\u0438\\u043f \\u0437\\u0430\\u0432\\u0435\\u0434\\u0435\\u043d\\u0438\\u044f=%{x}<br>\\u041a\\u043e\\u043b\\u0438\\u0447\\u0435\\u0441\\u0442\\u0432\\u043e \\u043f\\u043e\\u0441\\u0430\\u0434\\u043e\\u0447\\u043d\\u044b\\u0445 \\u043c\\u0435\\u0441\\u0442 =%{y}<extra></extra>","legendgroup":"\\u043d\\u0435\\u0442","marker":{"color":"#636efa"},"name":"\\u043d\\u0435\\u0442","notched":false,"offsetgroup":"\\u043d\\u0435\\u0442","orientation":"v","quartilemethod":"linear","showlegend":true,"x":["\\u0431\\u0430\\u0440","\\u0431\\u0430\\u0440","\\u0431\\u0430\\u0440","\\u0431\\u0430\\u0440","\\u0431\\u0430\\u0440","\\u0431\\u0430\\u0440","\\u0431\\u0430\\u0440","\\u0431\\u0430\\u0440","\\u0431\\u0430\\u0440","\\u0431\\u0430\\u0440","\\u0431\\u0430\\u0440","\\u0431\\u0430\\u0440","\\u0431\\u0430\\u0440",
После замены \\ на \
'<div> <div id="2243eb5b-ca2c-4f83-9760-06d60a8d4e48" class="plotly-graph-div" style="height:800px; width:800px;"></div> <script type="text/javascript"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("2243eb5b-ca2c-4f83-9760-06d60a8d4e48")) { Plotly.newPlot( "2243eb5b-ca2c-4f83-9760-06d60a8d4e48", [{"alignmentgroup":"True","hovertemplate":"\u0421\u0435\u0442\u0435\u0432\u043e\u0435=\u043d\u0435\u0442<br>\u0422\u0438\u043f \u0437\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u044f=%{x}<br>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0430\u0434\u043e\u0447\u043d\u044b\u0445 \u043c\u0435\u0441\u0442 =%{y}<extra></extra>","legendgroup":"\u043d\u0435\u0442","marker":{"color":"#636efa"},"name":"\u043d\u0435\u0442","notched":false,"offsetgroup":"\u043d\u0435\u0442","orientation":"v","quartilemethod":"linear","showlegend":true,"x":["\u0431\u0430\u0440","\u0431\u0430\u0440","\u0431\u0430\u0440","\u0431\u0430\u0440","\u0431\u0430\u0440","\u0431\u0430\u0440","\u0431\u0430\u0440","\u0431\u0430\u0440","\u0431\u0430\u0440","\u0431\u0430\u0440","\u0431\u0430\u0440","\u0431\u0430\u0440","\u0431\u0430\u0440",
После обработки на сайте
'<div> <div id="2243eb5b-ca2c-4f83-9760-06d60a8d4e48" class="plotly-graph-div" style="height:800px; width:800px;"></div> <script type="text/javascript"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("2243eb5b-ca2c-4f83-9760-06d60a8d4e48")) { Plotly.newPlot( "2243eb5b-ca2c-4f83-9760-06d60a8d4e48", [{"alignmentgroup":"True","hovertemplate":"Сетевое=нет<br>Тип заведения=%{x}<br>Количество посадочных мест =%{y}<extra></extra>","legendgroup":"нет","marker":{"color":"#636efa"},"name":"нет","notched":false,"offsetgroup":"нет","orientation":"v","quartilemethod":"linear","showlegend":true,"x":["бар","бар","бар","бар","бар","бар","бар","бар","бар","бар","бар","бар","бар",
Получаем график PlotLy с подписями на русском языке:
‘
‘