Please be informed that your create_rectangle function is taking four parameters:
canvas.create_rectangle(x1, y1, x2, y2, **kwargs)
With (x1,y1) the data points of the top left corner and (x2, y2) as the data points of the bottom right corner. But you gave twice the same data points so your box has a zero width and height, that's why you can only see a pixel. You can try with canvas.create_rectangle(50, 0, 100, 50, fill='red') and this will display a square of side 50 pixels.
Are you interested to learn Python in detail? Sign up for this perfect Python Training course by Intellipaat.