Serial data from arduino not received properly
There are two problems with your code on in the sending and one in the receiving part.

You get from serial.read() a bytes object, but your self.x should be an integer, so you have to use int() before the assignment (see at the bottom for the code).
The next thing is, that you receive exactly one byte, but your string with the number can have more bytes, to overcome that you could use serial.readline() to read a whole line and modify the sending code as follows.  

You send the integer from the arduino as sting, but you can't know how long it is on the receiving end. So you should terminate the string with a newline: Serial.println(i) will automatically append an \r\n for you.

The whole code would have to be modified like so:
receiving:

# ...
def modal(self, context, event):
    self.x = int(ser.readline(10))  # read a maximum of ten digits (only because 
                                    # there could be an error in the sending code)
    # ...


sending:

# ...
void loop()
{
    for(int i=0; i&lt;350;i++)
    {
        Serial.println(i);
        delay(100);
    }
}