соединение точек точечной диаграммы и создание линии

Как можно соединить точки точечной диаграммы после построения и сделать линию из пунктирной диаграммы?


person Alireza    schedule 16.02.2010    source источник
comment
Разве это не сделает его обычным сюжетом? Каким образом (по мере увеличения x?) вы хотите соединить точки на таком графике?   -  person Rook    schedule 16.02.2010
comment
Вы изменили тег с матлаба на клен. Поскольку не было ссылки на то, какой инструмент вы используете, мы предположили, что это Matlab. Я бы порекомендовал создать новый вопрос с правильной маркировкой, чтобы вы могли быстрее получить ответ от экспертов по Maple. И будьте более конкретными, чтобы мы не делали предположений.   -  person yuk    schedule 18.02.2010


Ответы (4)


Я предполагаю, что вы создали точечную диаграмму из координат x и y,

plot(x,y,'.');

Присоединяйтесь к ним с

plot(x,y,'.');
hold on;
plot(x,y,'-');

Или в одной команде

plot(x,y,'.-');

Это то, что вы хотели?

person Jacob    schedule 16.02.2010

Если у вас есть существующий график в виде точечной диаграммы, вы не можете просто соединить точки, не зная, какие точки связаны с какими другими.

Если вы знаете порядок/связь точек, то вы могли бы просто использовать функцию графика, чтобы сделать это в первую очередь. Звонок

plot(x,y,'-')

соединит точки отрезками прямой линии. Если вы хотите использовать символ маркера в каждой точке вдоль линии, вы можете добавить один из маркеров, которые позволяет график, например:

plot(x,y,'o-')

Вы можете получить список разрешенных маркеров из

help plot

Если вы использовали разброс для набора точек и теперь хотите наложить линию, соединяющую точки, используйте функцию удержания, чтобы заставить Matlab построить график поверх графика разброса. Например,

scatter(x,y)
hold on
plot(x,y,'-')
hold off

Опять же, любой из этих вариантов требует, чтобы вы знали связь между точками. Есть несколько схем, которые иногда могут работать для восстановления этой связи из списка изолированных точек. Один из этих методов называется CRUST и часто используется для 3- д реконструкция поверхности. Я нашел много ссылок простым поиском «алгоритма корки».

person Community    schedule 16.02.2010

Если у вас есть диаграмма рассеяния (я подозреваю, что она сделана с помощью функции рассеяния) и по какой-то причине вы не хотите перерисовывать ее с помощью графика, вот что вы можете сделать, чтобы соединить точки:

h = findobj(gca,'type','hggroup');
hold on
for k=1:numel(h)
    x = get(h(k),'xdata');
    y = get(h(k),'ydata');
    plot(x,y,'-')
end
hold off

Точки будут соединены в их первоначальном порядке. Если вы хотите, вы можете отсортировать данные перед графиком, например, по x:

[x,ind] = sort(x);
y = y(ind);
person yuk    schedule 17.02.2010

Чтобы ответить на вопрос, как это сделать в Maple, вы можете просто использовать PointPlot из Статистика пакет с параметром style, установленным на line или pointline. Например:

Statistics:-PointPlot([2, 4, 6, 4], xcoords=[1, 2, 3, 4], style=pointline);

При указании опции style = pointline отображаются как точки, так и соединительная линия; style = line показывает только строку.

person DSkoog    schedule 20.02.2017