Есть задача на C# рисовать графики и обновлять их в реальном времени (примерно как показано на картинке). В .NET я новичок, поэтому кроме как рисовать прям на форме идей у меня нет.

Для начала хотелось бы узнать насколько это хорошая идея рисовать прям на форме, при следующих условиях:
- обновляться графики должны в реальном времени (в очередь для отображения данные приходят с другого потока).
- возможно в будущем понадобиться помнить все пришедшие данные для "истории" графика и прокрутки по оси времени
- и данных приходит довольно много
И, в случае, если рисовать на форме не самая хорошая идея, то есть ли какие нибудь альтернативные пути, какие нибудь библиотеки или даже стандартные средства самого .net для рисования подобных графиков?