12

假设我有一个绘图函数,它接受一个轴参数(或返回一个)。是否有一些低级方法可以转置整个图,使 x 轴变为 y 轴,反之亦然?或者甚至是绘图之前的轴,以便绘图函数通过依赖轴函数正确地完成所有操作(标记)?

我知道如何“手动”执行此操作,但我想知道是否存在允许这种转换的稍微隐藏的抽象级别。

4

2 回答 2

9

John Hunter 在邮件列表中的旧帖子(大约 2005 年)。我怀疑这是一种足够罕见的愿望,并且足够棘手,以至于当时还没有增加意义。

John Hunter 在现有地块上交换轴的示例是

line2d = plot(rand(10))[0]

def swap(xdata, ydata):
    line2d.set_xdata(ydata)
    line2d.set_ydata(xdata)
    draw()

swap(line2d.get_xdata(), line2d.get_ydata())
于 2013-04-07T05:24:03.083 回答
3

不超过 tcaswell 的回答。

def swap(*line_list):
    """
    Example
    -------
    line = plot(linspace(0, 2, 10), rand(10))
    swap(line)
    """
    for lines in line_list:
        try:
            iter(lines)
        except:
            lines = [lines]

        for line in lines:
            xdata, ydata = line.get_xdata(), line.get_ydata()
            line.set_xdata(ydata)
            line.set_ydata(xdata)
            line.axes.autoscale_view()

一个例子

line = plot(linspace(0, 2, 10), rand(10))
swap(line)
于 2016-07-11T16:08:15.893 回答