我有这段代码,是根据matplotlib网站上的示例并排比较条形图而构建的,但是似乎它们都相互叠加了。
import scipy.optimize
def optimize_parameters():
solution = scipy.optimize.differential_evolution(error, bounds=[[0, 1], [0, 1], [0, 1], [0, 1]],
args=[parameter_dict, parameter_list])
print(solution.x)
def error(x, parameter_dict, parameter_list):
parameter_dict.update(zip(parameter_list, x))
return complex_error_calculation(parameter_dict)
def complex_error_calculation(parameter_dict):
return parameter_dict['a'] * 10 + parameter_dict['b'] * 5 - parameter_dict['c'] * 2 + parameter_dict['d']
if __name__ == "__main__":
parameter_list = ['a', 'b', 'c', 'd']
parameter_dict = {'a': 0, 'b': 1, 'c': 2, 'd': 3}
optimize_parameters()
1999年与2017年汇率的条形应该是最高的,然后是第二高的,等等,但是1999年的比率显示在2017年的比率上。