Mam zestaw danych, który zawiera atrybut x, y i mogą być drukowane na powierzchni x-y.Czy wykres plumów matplotlib jest powolny dla dużej liczby danych?
Początkowo użyć kodu
df.plot(kind='scatter', x='x', y='y', alpha=0.10, s=2)
plt.gca().set_aspect('equal')
Kod jest dość szybkie z danych o wielkości 50000
Ostatnio używam nowszej zbiór danych, o wielkości około 2500000 A wykres punktowy staje znacznie wolniej.
Chcę wiedzieć, czy jest to oczekiwane zachowanie i czy jest coś, co mogę zrobić, aby poprawić szybkość fabuły?
Jest to oczywiście co najmniej liniowy pod względem liczby punktów. W zależności od rozmiaru znacznika, wyświetlacza i rozdzielczości, nie mogę sobie wyobrazić, aby tak wiele punktów miało jakikolwiek sens. Naturalne podejście: upuść próbki swoich ogromnych danych (wydrukuj tylko 10% losowo wybranych). Może to być jeszcze ważniejsze, gdy zaczniesz drukować fabułę w formatach opartych na wektorach. ** Edycja: ** Jestem bardzo pewny, że użycie alfa powoduje to bardzo powoli. Jeśli chcesz emulować trochę wykresu gęstości (przez użycie alfa/cieniowania), istnieją oczywiście lepsze podejścia, ale nie ma wystarczającej ilości informacji. – sascha
Kolejną sugestią jest to, że możesz stworzyć obraz oparty na pikselu. Znacząco zmniejsza to zużycie pamięci i szybkość. –
Czy to naprawdę pytanie * "Hej, zwiększyłem liczbę punktów o współczynnik 50, a moja szybkość kreślenia nagle jest 50 razy wolniejsza." Czy ktoś może podać mi przyczynę? – ImportanceOfBeingErnest