Это решение более элегантно, чем ваше собственное решение, которое напрямую устанавливает атрибут pagecontext. Вы должны использовать тег <c:set>
для этого:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="newLine" value="\n"/>
${fn:replace(data, newLine, "; ")}
BTW: ${fn:replace(data, "\n", ";")}
НЕ работает.
В настоящее время у вас есть оба индикатора в одной группе стеков, в результате чего значения второго индикатора складываются с первым. Если вы хотите, чтобы они выглядели как вторые изображения в вашем вопросе, вы должны разделить их группы, используя опцию stack: value
в их серии. примерно так: (обратите внимание stack: 0
в индикатор1 и stack: 1
в индикатор2 )
mychart.addSeries({ type: 'line', name: 'Indicator1', lineWidth: 0,
data: [3.3, 2, 3, 6, 3], stack : 0, pointPlacement: 0.3, showInLegend: true,
dataLabels: { enabled: true, allowOverlap: true, verticalAlign: 'top', align: 'right', color: '#ff0000', style: { textOutline: false } },
marker: { symbol: 'circle', fillColor: '#ff0000' },
states: { hover: { enabled: false }, }
});
mychart.addSeries({ type: 'line', name: 'Indicator2', data: [3.3, 2, 3, 6,
3],stack:1, pointPlacement: -0.3, showInLegend: true, dataLabels: { enabled: true,
allowOverlap: true, verticalAlign: 'bottom', align: 'right', style: { textOutline:
false }, x: 0, y: 0 }, lineWidth: 0, marker: { symbol: 'diamond', fillColor:
'#000000' }, states: { hover: { enabled: false }, }
JSFiddle: https: // jsfiddle. net / 3pfm8Laz /
Справочник по API: https://api.highcharts.com/highcharts/series.line.stack