【问题标题】:To draw polar plot where points in order by column 1?要按第 1 列的顺序绘制极坐标图?
【发布时间】:2015-03-31 17:38:00
【问题描述】:

数据

0   0.867779926444275
15  0.895866066532554
30  0.791816991652543
45  0.729582701499042
60  0.510896493274811
75  0.349659272558701
90  0.255383327300393
105 0.383729598278156
120 0.604795433670792
135 0.731177670225856
150 0.783135047098391
165 0.984715658218028

Matlab 中的代码

polar(data(:,1), data(:,2), 'k-'); 

这给了

您会看到第一个点 (0) 连接到第二个点 (135)。 我希望这些点按 0 到 15、15 到 30、...、150 到 165 以及最终可能从 165 到 0 的顺序连接。

如何绘制极坐标图,其中点按第 1 列中的顺序连接?

【问题讨论】:

    标签: matlab plot matlab-figure polar-coordinates


    【解决方案1】:

    polar 期望第一个输入是弧度,而不是度数。所以,使用

    polar(data(:,1)*pi/180, data(:,2), 'k-');
    

    使用您的示例值,这给出了

    要将最后一个点连接到第一个点,只需在末尾重复第一个点即可:

    polar(data([1:end 1],1)*pi/180, data([1:end 1],2), 'k-');
    

    【讨论】:

    • 啊,我太慢了!对于第二个问题(连接回0),只需附加第一个坐标对即可。
    • @excaza 谢谢!我准确地补充说:-)我倾向于太快阅读问题......
    • 感谢您的回答!我喜欢你不将数据附加到原始数据集的方式。最好使用 [1:end 1] 。
    • @Masi 是的,这样就自动完成了,只针对剧情
    • 我在这里开了一个关于连接极坐标图中端点的新线程stackoverflow.com/q/29548121/54964 出于某种原因,插值函数不会像其他点一样处理扩展点。
    猜你喜欢
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多