Why can't arguments be passed explicitly as x and y in pyplot?
It has to do with the concepts of *args and **kwargs in Python. Both of these let you to use a variable number of parameters within your function, but the difference comes in the fact that while *args takes only the values, **kwargs also takes the keywords as the name "kw" implies.
Since matplotlib.pyplot.plot() function uses *args instead of **kwargs, these functions do not accept keywords within the parameters.
I am using matplotlib.pyplot module imported as plt for plots. 
In the plt.plot() statement, if I pass the arguments as "x= array1, "y= array2", I get "TypeError: plot got an unexpected keyword argument 'x' ".  
The code gets executed correctly if I simple pass "array1 and array2", without explicitly saying they correspond to x and y axes. 
Why is that?