python matplotlib.pyplot-无法在plt对象上使用setattr

python matplotlib.pyplot-无法在plt对象上使用setattr,python,django,matplotlib,Python,Django,Matplotlib,我需要根据用户选择要更改的属性并输入要更改的值的输入动态更改打印属性。我认为我可以通过执行以下操作来实现这一点: Selected_Property is a plot parameter (e.g., xscale ect..) Entered_Value is whatever the user wants to change the value to import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5, 6] y = [1, 10

我需要根据用户选择要更改的属性并输入要更改的值的输入动态更改打印属性。我认为我可以通过执行以下操作来实现这一点:

Selected_Property is a plot parameter (e.g., xscale ect..)
Entered_Value is whatever the user wants to change the value to
    
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5, 6]
y = [1, 10, 100, 1000, 10000, 100000]
plt.plot(x,y)
setattr(plt, Selected_Property, Entered_Value)
plt.show()

但是,无论我在setattr中输入什么,都不会对绘图应用任何更改。我无法使用plt更改绘图属性。(要更改的属性),因为此属性是根据用户的输入动态选择的,我不知道如何使用变量和“.”符号访问绘图属性。我可以尝试解决此问题吗?

您可以这样做:

import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5, 6]
y = [1, 10, 100, 1000, 10000, 100000]
plt.plot(x,y)
getattr(plt, 'xlabel')('myplot')
plt.show()
输出:


David,非常感谢,这正是我需要的!顺便问一下,您知道我上面代码中的setattr为什么不起作用吗?如果不担心的话,您上面的解决方案工作得很好,因为
plt
是一个模块,所以您不能使用
setattr
。相反,
getattr
,您可以使用它为属性赋值。