Matplotlib to biblioteka kreśląca dla Pythona, która może być używana interaktywnie lub osadzona w autonomicznych GUI. Kompaktowy interfejs „pyplot” jest podobny do funkcji drukowania w MATLAB®.
Właśnie zaktualizowałem do najnowszej stabilnej wersji matplotlib(1.5.1) i za każdym razem, gdy importuję matplotlib, otrzymuję ten komunikat: /usr/local/lib/python2.7/dist-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment. warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.') ... który zawsze zatrzymuje się …
Mam dwie listy, daty i wartości. Chcę je wykreślić za pomocą matplotlib. Poniższy rysunek tworzy wykres punktowy moich danych. import matplotlib.pyplot as plt plt.scatter(dates,values) plt.show() plt.plot(dates, values) tworzy wykres liniowy. Ale to, czego naprawdę chcę, to wykres rozrzutu, w którym punkty są połączone linią. Podobnie jak w R: plot(dates, values) …
Zdecydowanie wolę używać matplotlibw stylu OOP: f, axarr = plt.subplots(2, sharex=True) axarr[0].plot(...) axarr[1].plot(...) Ułatwia to śledzenie wielu figur i wykresów pobocznych. Pytanie: Jak w ten sposób wykorzystać dno morskie? Albo jak zmienić ten przykład na styl OOP? Jak określić seabornfunkcje kreślenia, takie jak lmplotktóre, Figurelub do których Axeswykreśla?
Obecnie oceniam różne biblioteki kreślące w języku Python. W tej chwili próbuję matplotlib i jestem dość rozczarowany wydajnością. Poniższy przykład jest zmodyfikowany na podstawie przykładów SciPy i daje mi tylko ~ 8 klatek na sekundę! Jakieś sposoby na przyspieszenie tego, czy powinienem wybrać inną bibliotekę drukowania? from pylab import * …
Próbuję wykreślić histogram za pomocą matplotlib.hist()funkcji, ale nie wiem, jak to zrobić. Mam listę probability = [0.3602150537634409, 0.42028985507246375, 0.373117033603708, 0.36813186813186816, 0.32517482517482516, 0.4175257731958763, 0.41025641025641024, 0.39408866995073893, 0.4143222506393862, 0.34, 0.391025641025641, 0.3130841121495327, 0.35398230088495575] oraz lista nazwisk (ciągi znaków). Jak ustawić prawdopodobieństwo jako wartość y każdego słupka i nazwać je jako wartości x?
W Matplotlib nie jest zbyt trudno stworzyć legendę ( example_legend()poniżej), ale myślę, że lepiej jest umieścić etykiety bezpośrednio na kreślonych krzywych (jak example_inline()poniżej). Może to być bardzo kłopotliwe, ponieważ muszę ręcznie określić współrzędne, a jeśli ponownie sformatuję działkę, prawdopodobnie będę musiał zmienić położenie etykiet. Czy istnieje sposób na automatyczne generowanie …
W matplotlib mogę ustawić skalowanie osi za pomocą albo pyplot.xscale()lub Axes.set_xscale(). Obie funkcje akceptują trzy różne skale: 'linear'| 'log'| 'symlog'. Jaka jest różnica między 'log'i 'symlog'? W prostym teście, który przeprowadziłem, obaj wyglądali dokładnie tak samo. Wiem, że dokumentacja mówi, że akceptują różne parametry, ale nadal nie rozumiem różnicy między …
Wziąłem serię i wymusiłem na niej kolumnę z datetime64[ns]datą i godziną dtype = (chociaż potrzebuję tylko rozdzielczości dziennej ... nie wiem, jak to zmienić). import pandas as pd df = pd.read_csv('somefile.csv') column = df['date'] column = pd.to_datetime(column, coerce=True) ale kreślenie nie działa: ipdb> column.plot(kind='hist') *** TypeError: ufunc add cannot use …
Mam ten obraz: plt.plot(sim_1['t'],sim_1['V'],'k') plt.ylabel('V') plt.xlabel('t') plt.show() Chcę ukryć liczby; jeśli używam: plt.axis('off') ... otrzymuję ten obraz: Ukrywa również etykiety Vi t. Jak mogę zachować etykiety, ukrywając wartości?
Przejrzałem przykłady w matplotlibdokumentacji, ale nie było dla mnie jasne, w jaki sposób mogę zrobić wykres wypełniający obszar między dwiema określonymi pionowymi liniami. Na przykład, powiedzmy, że chcę utworzyć wykres od x=0.2do x=4(dla pełnego yzakresu wykresu). Powinienem użyć fill_between, fillczy fill_betweenx? Czy mogę użyć wheredo tego warunku?
Muszę zrobić program metodą Eulera dla modelu „kulka na sprężynie” from pylab import* from math import* m=0.1 Lo=1 tt=30 k=200 t=20 g=9.81 dt=0.01 n=int((ceil(t/dt))) km=k/m r0=[-5,5*sqrt(3)] v0=[-5,5*sqrt(3)] a=zeros((n,2)) r=zeros((n,2)) v=zeros((n,2)) t=zeros((n,2)) r[1,:]=r0 v[1,:]=v0 for i in range(n-1): rr=dot(r[i,:],r[i,:])**0.5 a=-g+km*cos(tt)*(rr-L0)*r[i,:]/rr v[i+1,:]=v[i,:]+a*dt r[i+1,:]=r[i,:]+v[i+1,:]*dt t[i+1]=t[i]+dt #print norm(r[i,:]) plot(r[:,0],r[:,1]) xlim(-100,100) ylim(-100,100) xlabel('x [m]') ylabel('y …
Chciałbym zrobić taką mapę cieplną (pokazaną na FlowingData ): Dane źródłowe są tutaj , ale losowe dane i etykiety byłyby w porządku, tj import numpy column_labels = list('ABCD') row_labels = list('WXYZ') data = numpy.random.rand(4,4) Tworzenie mapy cieplnej jest dość łatwe w matplotlib: from matplotlib import pyplot as plt heatmap = …
Pycharm nie pokazuje fabuły z następującego kodu: import pandas as pd import numpy as np import matplotlib as plt ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000)) ts = ts.cumsum() ts.plot() Dzieje się tak, że okno pojawia się na mniej niż sekundę, a następnie ponownie znika. Używając Pyzo IEP IDE (używając tego samego …
Z ciekawości chciałbym wiedzieć, jak to zrobić w poniższym kodzie. Szukałem odpowiedzi, ale jest bezużyteczna. import numpy as np import matplotlib.pyplot as plt data=np.random.exponential(scale=180, size=10000) print ('el valor medio de la distribucion exponencial es: ') print np.average(data) plt.hist(data,bins=len(data)**0.5,normed=True, cumulative=True, facecolor='red', label='datos tamano paqutes acumulativa', alpha=0.5) plt.legend() plt.xlabel('algo') plt.ylabel('algo') plt.grid() plt.show()
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.