Так как это тестовое задание, следует считать, что оно самодостаточное.
Все спорные вопросы вы разрешаете на свое усмотрение.
Таким образом мы видим, что нам надо иметь возможность нарисовать несколько графиков.
Прототипируем простой интерфейс
MyChart.init({
charts: [
{
name: 'name',
axis: {
x: { /* параметры для оси X */ }
y: { /* параметры для оси Y */ }
},
data: [ /* массив данных (точек) для отрисовки */
{x:1,y:2},
//...
],
},
],
});
Для всплывающих подсказок можно завести отдельный параметр или добавить опцию в массив точек.
Все остальное — ресайз, масштабирование, — реализуете внутри библиотеки, без внешних интерфейсов (без настроек). Это все-таки тестовое задание, а не полноценная библиотека.