просто интересно, есть ли у кого-нибудь идеи по поводу моей проблемы.
У меня достаточно данных, которые необходимо отобразить на одном графике. Две теоретические линии, которые выделены жирным шрифтом и сплошной, отображаются сверху, затем графически представлены 10 наборов экспериментальных данных, которые сходятся к этим линиям, каждая из которых использует свой идентификатор (например, + или o или квадрат и т. Д.). Эти графики представлены в логарифмическом масштабе, который достигает 1e6. Первые несколько десятилетий графика (<1e3) выглядят нормально, но, поскольку все наборы данных сходятся (> 1e3), действительно трудно понять, что это за данные.
Существует более 1000 точек данных за десятилетие, которые можно линейно обрезать до некоторой степени, но если я сделаю это слишком сильно, нижний конец графика пострадает в разрешении.
Что я хотел бы сделать, так это обрезать логарифмически, самое сильное на верхнем уровне, возвращаясь к 0. Мой вопрос: как получить логарифмически масштабированный индексный вектор вместо линейного?
Мое первоначальное предположение состояло в том, что, поскольку мои данные рассчитаны на год, я мог бы просто использовать линейный индекс для сокращения, что привело бы к чему-то вроде этого (но за все десятилетия):
//%grab indicies per decade
ind12 = find(y >= 1e1 & y <= 1e2);
indlow = find(y < 1e2);
indhigh = find(y > 1e4);
ind23 = find(y >+ 1e2 & y <= 1e3);
ind34 = find(y >+ 1e3 & y <= 1e4);
//%We want ind12 indexes in this decade, find spacing
tot23 = round(length(ind23)/length(ind12));
tot34 = round(length(ind34)/length(ind12));
//%grab ones to keep
ind23keep = ind23(1):tot23:ind23(end);
ind34keep = ind34(1):tot34:ind34(end);
indnew = [indlow' ind23keep ind34keep indhigh'];
loglog(x(indnew), y(indnew));
Но это приводит к тому, что чернослив ведет себя нервно. Каждое десятилетие имеет количество точек, которые мне бы хотелось, но, поскольку это линейное распределение, точки, как правило, накапливаются в верхнем конце десятилетия в логарифмическом масштабе.
Есть идеи, как мне это сделать?