3

如何在matplotlib-plotx-label中设置和,将它们作为参数传递给函数。y-labelplot()

基本上我想做这样的事情:

def plot_something(data, plot_conf):
    data.plot(**plot_conf)
    ...do some other stuff...

plot_conf = {'title': 'Blabla', 'xlabel':'Time (s)', 'ylabel': 'Speed (m/s)'}
plot_something(data,plot_conf)

我不想使用任何额外的函数调用,比如xlabel()

4

1 回答 1

4

正如@nordev 已经解释的那样,您不能通过plot()轴标签,但在您的函数内部,您可以获得活动图形,然后设置轴标签,如下例所示:

import matplotlib.pyplot as plt
def plot_something(x, y, **kwargs):
    title  = kwargs.pop( 'title'  )
    xlabel = kwargs.pop( 'xlabel' )
    ylabel = kwargs.pop( 'ylabel' )
    plt.figure()
    plt.plot(x, y, **kwargs)
    fig = plt.gcf()
    for axis in fig.axes:
        axis.set_title( title )
        axis.xaxis.set_label_text( xlabel )
        axis.yaxis.set_label_text( ylabel )
    return axis


plot_conf = {'title': 'Blabla', 'xlabel':'Time (s)', 'ylabel': 'Speed (m/s)'}
x = [1.,2.,3.]
y = [1.,4.,9.]
axis = plot_something(x=x,y=y, **plot_conf)
于 2013-06-08T17:00:20.433 回答