|
|
|
SVG, chart: как отобразить кривую у которой точек больше чем пикселей под график?
|
|||
|---|---|---|---|
|
#18+
Делаю компонент графика. Стоит задача отображать график изменения цен за год и более на площади 320х150px. Диапазон значений может быть не таким каким мне удобно - к примеру ровно в 2 раза больше точек чем пикселе (можно было бы взять каждую вторую и отобразить). Но даже если стечение обстоятельств предоставит мне такой шанс - к примеру выкидываем 4 точки и рисуем 5ю есть риск пропустить на графике резкое изменение кривой. Как обычно поступают в такой ситуации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 14:33 |
|
||
|
SVG, chart: как отобразить кривую у которой точек больше чем пикселей под график?
|
|||
|---|---|---|---|
|
#18+
spесть риск пропустить на графике резкое изменение кривой.да. стандартный подход - возможность изменения отрезка времени (например, "тут" - в распределении по датам можно заселектить кусок). Сузил интервал, и рассмотрел в деталях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 14:53 |
|
||
|
SVG, chart: как отобразить кривую у которой точек больше чем пикселей под график?
|
|||
|---|---|---|---|
|
#18+
spк примеру выкидываем 4 точки и рисуем 5юможно взять какое-нибудь среднее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 14:54 |
|
||
|
SVG, chart: как отобразить кривую у которой точек больше чем пикселей под график?
|
|||
|---|---|---|---|
|
#18+
spКак обычно поступают в такой ситуации? Математически корректный подход -- определить минимально допустимый для отображения интервал (1 точка или больше), пересчитать исходные значения графика, оставляя максимум 1 точку на каждый интервал. Точка должна быть посчитана по правилам вычисления среднеарифметического значения. Альтернативный вариант, более пригодный для некоторых видов данных -- брать по 2 интервала, и на каждом 2-интервальном участке оставлять максимум и минимум, а не считать среднее. Тогда экстремумы не будут сглаживаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 15:53 |
|
||
|
SVG, chart: как отобразить кривую у которой точек больше чем пикселей под график?
|
|||
|---|---|---|---|
|
#18+
The_ShadoW, спасибо за реплику, но второй вариант не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 15:58 |
|
||
|
SVG, chart: как отобразить кривую у которой точек больше чем пикселей под график?
|
|||
|---|---|---|---|
|
#18+
sp, Вместо того, чтоб считать среднее арифметическое по нескольким точкам, берем из каждых N точек минимум и максимум, и рисуем их в соседних интервалах (наплевав на возможное смещение по второй оси, оно всё равно будет небольшим). Математический смысл плачет кровавыми слезами, потому что график будет не вполне верно отражать данные, но в некоторых случаях людям от графика нужны именно достоверные минимумы/максимумы, а не саму кривую. Вот в таких случаях оно применимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 16:41 |
|
||
|
SVG, chart: как отобразить кривую у которой точек больше чем пикселей под график?
|
|||
|---|---|---|---|
|
#18+
The_ShadoWsp, Вместо того, чтоб считать среднее арифметическое по нескольким точкам, берем из каждых N точек минимум и максимум, и рисуем их в соседних интервалах (наплевав на возможное смещение по второй оси, оно всё равно будет небольшим). Математический смысл плачет кровавыми слезами, потому что график будет не вполне верно отражать данные, но в некоторых случаях людям от графика нужны именно достоверные минимумы/максимумы, а не саму кривую. Вот в таких случаях оно применимо. спасибо - понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2014, 09:05 |
|
||
|
SVG, chart: как отобразить кривую у которой точек больше чем пикселей под график?
|
|||
|---|---|---|---|
|
#18+
авторКак обычно поступают в такой ситуации? Японские свечи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2014, 10:29 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38804934&tid=1446529]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 400ms |

| 0 / 0 |
