Mam zbiór danych w tablicy, który przedstawiam na wykresie. Oś kategorii(X) ma zakres 0-200. Chciałbym na tę oś "nałożyć maskę" by zamiast 0-200 wyświetlało się np -100 do 100. Czy coś takiego jest możliwe bez potrzeby przeliczania tablicy?
x-100
x-100 działa ale jest kolejny problem, gdyż wykres nie pokazuje mi się przy:
for X := 5 downto 1 do
begin
for I := 1 to 200 do
begin
asdf:=(i*700)-70000;
IF Wyn[i][x]=-120 then
Seria_[X].AddNull(Wyn[i-1][X])
else
Seria_[X].AddXYZ(asdf,Wyn[i][X],X);
end;
end;
Czemu przy bardziej skomplikowanym zmienianiu X nie pokazuje nic?
Jaki typ ma Wyn[I, X]
? (btw, beznadziejne nazwy zmiennych)
Wyn: Array of array of Extended;
Nie możesz porównywać liczb powstałych w wyniku operacji zmiennoprzecinkowych za pomocą zwykłego operatora równości...
Skoro nie mogę zmienić osi wykresu za pomocą liczby zmiennoprzecinkowej to jak mogę zrobić by oś X miała zakres ( (-a;a) z interwałem b w przypadku gdy a i b są zmiennymi i muszą być zmiennoprzecinkowe?
A co w przypadku gdy chciałbym dać interwał na osi x np 1,5 ?
Kto powiedział, że nie możesz używać liczb zmiennoprzecinkowych?
Rozwiń proszę swoją wypowiedź na temat porównywania liczb zmiennoprzecinkowych pod kątem jak mam je porównywać nie korzystając z =.
Byłbym też wdzięczny za odpowiedź czemu przy próbie konwersji osi x wykres się nie pojawia. Znika gdy inkrement osi jest <> 1
Myślałem, że wpisanie delphi float comparing
w Google nie przerasta niczyich umiejętności...
1.CompareValue
2.SameValue
3.abs(A-B) < epsilon
, gdzie epsilon
jest jakąś małą liczbą, np.0.0000001
.
Rozumiem o co chodzi z porównywaniem ale dlaczego wykresy nie pokazują się gdy inkrement osi jest różny od 1?