Коллеги, добрый день.
У меня вопрос насчет конфигурирования диаграмм с помощью echart. https://echarts.apache.org/
мне нужно выровнять значение над колонками (столбчатая диаграмма)
Пример кода ниже.
“series”: {
“label”: {
“show”: “true”,
“formatter”: “{c}”,
“align”: “left”,
“position”: “right”
}
}
команда formatter применяется.
а команда align и position нет.
“view_class”: “1II.bar”
Нет ли здесь тонкостей работы с echarts в luxms?
Настраивать стал через echart, так как через описанные в документации по настройке дашлетов в разделе “style” не смог этого сделать.
это пример как работает позиционирование в echarts
Коллеги, второй вопрос насчет применения функций вида
textStyle: {
color: function (value, index) {
return value >= 0 ? ‘green’ : ‘red’;
}
}
допустимо ли их использовать при работе с echarts?
Если да, то в каком виде? Через lpe?
Здравствуйте. Напоминаю, что echart ключ это скорее костыль, которым можно управлять лишь некоторым поведением графиков, с учетом того, что например функции JSON дешлета не пропустит к сохранению и последующему чтению (это против этимологии JSON). Потому его возможности весьма ограничены.
По первому вопросу:
- Выяснилось, что в разных визуализациях приоритет и взаимодействие с echart конфиг, который пишется в конфиге деша воспринимается по-разному. Приведем к единому виду. Сейчас то, что вы пытаетесь сделать выполнить нельзя. Понять и простить)
- в конфиге а ля echart нет, однако вы можете прописать в блоке style у дименшна или межи значение color через lpe:
color: “lpe: if(value> 0, ‘green’, 'red)” - if функция 3х переменных: условие, результат положительного исхода, результат отрицательного. if можно вкладывать друг в друга неограниченно, не запутайтесь только в скобках.
1 - ясно. это планируется доработать в luxms?
2 - я в боке style для measures написал “color”: “lpe:if(e_mln>1000, ‘#68cfe8’, ‘#FF6347’)”, но это не работает. у меня “view_class”: “1II.bar”. Если в этой строке написать просто “color”: “#68cfe8”, то работает. Почему?
- да
- нужно писать value
т.е. вы пишете у межи под названием e_mln часть конфига
measures: {
e_mln: {
"color": "lpe:if(value>1000, '#68cfe8', '#FF6347')"
}
}
Илья, сделал так как вы сказали. Ничего пока не получается.
Ниже мой JSON.
{
"options": [
"HideLegend",
"TooltipXAxisTitle",
"DisplayAllBadges"
],
"dataSource": {
"yAxis": "measures",
"xAxis": "d",
"measures": [
"sum(e)/1000000:e_mln"
],
"style": {
"measures": {
"e_mln": {
"color": "lpe:if(value<1000, '#77e47a', '#FF6347')",
"format": "### ###.000",
"title": ""
}
}
},
"dimensions": [
"d"
],
"filters": {},
"koob": "tur11.tur_xdds_t224",
"metrics": [],
"locations": []
},
"frame": {
"y": 1,
"w": 6,
"h": 6,
"x": 0
},
"echart": {
"yAxis": {
"axisLabel": {
"hideOverlap": "true",
"width": 250,
"fontSize": 15,
"textStyle": {
"color": "black"
},
"overflow": "truncate"
}
},
"grid": {
"tooltip": {
"textStyle": {
"fontSize": 25
}
}
}
},
"onClick": {
"locations": [],
"metrics": [],
"dboard": null,
"segmentId": "97"
},
"display": {
"sort": "DESC",
"yAxisLabelLimit": 15,
"minFontSize": 30,
"rotateXLabel": 10,
"sortBy": "e_mln"
}
}
Да, lpe должен применяться, проверим. Точно вы должны видеть результат покраски, если смените тип визуализации на Таблица, view_class: ‘1II.tableP’
Для tableP да, работает.
Но все же нужно чтобы и со всеми гистограммами работало.
Уведомим вас, как только оба пункта будут готовы