Одно из четырех значений valueWI, valueHI, valueWF, valueHF
установлено на бесконечность с плавающей запятой. Просто обрежьте его до чего-то разумного, например, для общего и полностью локального решения, измените ваш DrawLine
вызов на:
ALOT = 1e6
vals = [max(min(x, ALOT), -ALOT) for x in (valueWI, valueHI, valueWF, valueHF)]
dc.DrawLine(*vals)
Лучше всего, конечно, понять, какое из значений является бесконечностью, а почему - и исправить это. Но этот предпочтительный курс сильно зависит от приложения и полностью зависит от кода, приводящего к вычислению этих значений, о котором вы абсолютно не догадываетесь, поэтому нам сложно предложить очень конкретную помощь по этому предпочтительному варианту! )