Wykres liniowy zmian ceny/kursu.
Dane które posiadam:
tablica zmian ceny w interwale powiedzmy godzinnym:
data = [10, 15, 30, 12, 8, 20, 50, ... ], znam max oraz min. Znam wysokość siatki 100% - jest zawsze taka sama, to wykres liniowy ma się do niej dopasowywać. Chce żeby zarówno min oraz max wykresu liniowego znajdowało się nad min oraz max siatki.
Potrzebuje znaleźć jakiś sposób żeby wyliczyć wartość od której siatka wykresu będzie się zaczynać i kończyć. Chodzi mi o ładne zaokrąglenie. Jakieś globalne rozwiązanie, dla różnego przedziału liczb.

screenshot-20210518070109.png

Chcę żeby zarówno delta min jak i max (różnica między początkiem siatki i wartością min/max wynosiła maxymalnie do 10% od wysokości siatki, czyli łącznie całość ma 110% (aczkolwiek wykres może się kończyć wcześniej, tyle że obszar całkowity zajęty wynosi 110%), czyli delta łącznie 20% max)
Istotne jest to że początek siatki, do końca siatki 100% ma być stały.
Efekt mniej więcej taki jak tutaj:
Chciałbym żeby tutaj było np: 42 000 - 58 000
screenshot-20210518071051.png

Tutaj moglo by być 0 - 650?
screenshot-20210518071100.png

Piszę to w swift. Zastanawiałem się nad jakimiś gotowymi bibliotekami, ale na chwilę obecną nie potrzebuję zaawansowanego narzędzia.