如何在运行时使用Python选择不同的绘图功能?

时间:2018-09-20 20:07:14

标签: python matplotlib plot input

这是我的情况:

我有一个python脚本,将其命名为ID DealerId DealerName 226 1 Dealer3 112 1 Dealer3 266 2 Dealer1 112 2 Dealer1 93 3 Dealer2 93 3 Dealer2 。在此脚本中,可以生成不同类型的数据,等等。当我从命令行运行此脚本时,我希望能够输入“绘图模式”,例如1、2、3等。到目前为止,我知道如何要做到这一点。

但是,我想使用那些绘图模式做的就是卡住了。

本质上,我想说的是,如果绘图模式为1,则执行带有5个子图的特定绘图例程,以某种方式显示特定数据。

如果说绘图模式为2,则执行一个完全不同的绘图例程,使用3种数据类型,以非常特殊的方式显示它们,等等。

我不清楚该怎么做。我想最简单的方法是将绘图模式映射到if / else语句,该语句调用特定函数,但是我想知道是否还有一种更优雅的方法?

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用字典将模式映射为功能

mode = ... # this is the mode you obtain from the call
lookup = {"1" : function1, "2" : function2, ...}
# call function from lookup depending on mode
lookup[mode]()

您还可以通过包含模式名称的字符串获取要调用的函数

locals()["function{}".format(mode)]()

当然,仅当function1function2等都接受相同(或不使用)参数时,此方法才有效。如果要使用不同的参数调用不同的函数,则使用if/else可能也是一种好方法。