#graph #data-extraction #linegraph
Вопрос:
У меня есть задание, в котором мне нужно прочитать точки данных с изображения линейного графика и записать их в файл csv. Однако изображение имеет довольно низкое разрешение, и точки данных трудно отличить от самой линии диаграммы, даже для человеческого глаза. Теперь мой вопрос в том, как бы вы подошли к решению этой проблемы, потому что у меня нет ни малейшего представления о структуре, которую я мог бы использовать, и я не нашел подобных проектов, на которые можно было бы взглянуть.
Моя цель состоит не в том, чтобы вы написали код для меня, а в том, чтобы вы поделились своими мыслями о том, как бы вы подошли к этому или любым подобным проектам или фреймворкам, которые могли бы быть полезны в качестве ресурсов для изучения. Язык не имеет большого значения, однако предпочтительнее использовать c#, Java или Python.
Ниже я привел пример графика; линии очень размыты, а точки данных трудно разобрать. Горизонтальная ось представляет месяцы с промежутками в два месяца, а вертикальная ось показывает логарифмические значения в долларах США.
Результат должен выглядеть следующим образом:
Любая помощь будет признательна!
Ответ №1:
LOOP over x ( horizontal )pixels ( there are 250 in your image ) LOOP over y ( vertical ) pixels IF x,y pixel is blue SAVE y value END LOOP over y pixels CALCULATE median of saved y values CALCULATE tx time of x CALCULATE vy value of median y SAVE tx, vy END LOOP over x CHOOSE reasonable point count N CALCULATE inc = x range / N FOR x = 0; x lt; x range; x = inc OUTPUT tx, vy
Комментарии:
1. Спасибо за ваш ответ, я также подумал о том, чтобы просто распределить свои собственные баллы по графику. Ценю, что вы не торопитесь и пишете такой подробный фрагмент.
2. Ладно, поговорил сегодня с профессором, он сказал, что распределение моих собственных баллов совершенно нормально и что задание в принципе невозможно с предоставленными данными. Пока вы пытаетесь найти решение, он будет доволен, поэтому я просто распределю несколько очков и начну с этого. Спасибо за вашу помощь.
3. Пожалуйста. Голос всегда приветствуется.