Как сохранить график при обрезке при изменении размера, но вместо этого просто измените его окно просмотра?Highstock/chart - При изменении размера, не обрезайте диаграмму
Мне кажется, что это трудно объяснить, поэтому, пожалуйста, дайте мне знать, если требуется больше объяснений.
Диаграмма на первом снимке экрана выглядит красиво, они имеют «нормальное расстояние между ними, а полосы не обрезаны». У этого есть ширина 1000px.
На втором скриншоте, график только 300px в ширину, и лампады стали «обрезается» ..
Вместо этого я хотел бы изменить только окно просмотра, так что полосы никогда не обрезаются и всегда имеют одинаковый размер. Изменяется только диапазон дат (Viewport). Вы видите больше баров на более широкой диаграмме, но это не мешает, чтобы бары сами должны расти или уменьшаться.
Я попробовал это с простым алгоритмом, но его очень подвергли ошибке.
let parentW = this._elementRef.nativeElement.parentNode.clientWidth,
data = this.chart.xAxis[0].series[0].data,
barW = 10,
barsToShow = Math.ceil(parentW/barW),
firstBar = (data[data.length - barsToShow] || data[0]),
lastBar = data[data.length - 1];
this.chart.xAxis[0].setExtremes(firstBar.x, lastBar.x, redraw);
Я не мог найти никаких параметров в документе Highcharts, и google тоже не помог. Большое спасибо
Я не думаю, что есть возможность для этого. Однако вы можете увеличить [groupPixelWidth] (http://jsfiddle.net/b894z8ug/1/) для меньшего графика - он должен решить вашу проблему. Вы можете сделать это с помощью гибких правил, если вы используете Highcharts 5+ или by series.update для Highcharts. 5- – morganfree
Спасибо @morganfree, он действительно делает то, что мне действительно нужно. Это лучше, чем расчет взломанного увеличения. Можете ли вы дать ему ответ, чтобы я мог установить его как решение? :) – DutchKevv
Отлично, я отправил ответ. – morganfree