Мне очень нравится способность scatter()
автоматически окрашивать точки на основе некоторого вектора значений, я просто хочу добавить цветные точки между точками.
Рассматриваемый график имеет время по оси X, число Монте-Карло по оси Y, а затем некоторое измеренное значение в качестве цветового вектора (например, количество автомобилей, видимых в видеокадре).
По сути, каждая точка является обновлением в системе. Таким образом, вызов scatter(time,monte_carlo_number,[],color_vec)
отображает точки, в которых происходит обновление в системе, с цветом, представляющим некоторое значение. Это здорово, но я хотел бы добавить отрезки, соединяющие эти точки, каждый отрезок соответствует цвету, указанному в color_ve c.
Basi c рабочий пример
% Create example data
data = table();
data.time = randsample(1:100, 1000, true)';
data.mc = randsample(1:50, 1000, true)'; % actual monte-carlo run number labels are sorted
data.color_value = randsample(1:10, 1000, true)';
% Create the scatter plot
scatter(data.time, data.mc, [] , data.color_value, 'filled')
colorbar('Ticks', unique(data.color_value))
% Always label your axes
xlabel('Time (s)')
ylabel('Monte-Carlo Run Number')
Ниже приведен скриншот того, что может создать этот код. Если color_value
- это количество автомобилей, видимых в видеокадре, мы можем видеть каждый раз, когда это значение обновляется через точки. Тем не менее, людям легче читать этот график, если бы были линии, соединяющие каждую точку с другой с правильным цветом. Это демонстрирует зрителю, что это значение сохраняется во времени до следующего обновления.