假设我有一个绘图函数,它接受一个axis参数(或返回一个)。是否有一些低级方法用于转置整个图,使x轴成为y轴,反之亦然?或者甚至是绘图前的轴,以便绘图功能通过依赖轴功能正确地完成所有操作(标记)?
我知道如何“手动”执行此操作,但我想知道是否有一个稍微隐藏的抽象级别允许这种转换。
答案 0 :(得分:7)
约翰·亨特的邮件列表old post(约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())
答案 1 :(得分:1)
不仅仅是对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)