假设我有一个绘图函数,它接受一个轴参数(或返回一个)。是否有一些低级方法可以转置整个图,使 x 轴变为 y 轴,反之亦然?或者甚至是绘图之前的轴,以便绘图函数通过依赖轴函数正确地完成所有操作(标记)?
我知道如何“手动”执行此操作,但我想知道是否存在允许这种转换的稍微隐藏的抽象级别。
假设我有一个绘图函数,它接受一个轴参数(或返回一个)。是否有一些低级方法可以转置整个图,使 x 轴变为 y 轴,反之亦然?或者甚至是绘图之前的轴,以便绘图函数通过依赖轴函数正确地完成所有操作(标记)?
我知道如何“手动”执行此操作,但我想知道是否存在允许这种转换的稍微隐藏的抽象级别。
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())
不超过 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)