Załóżmy, że mam następujący kod, który drukuje coś bardzo prostego przy użyciu pand:
import pandas as pd
values = [[1, 2], [2, 5]]
df2 = pd.DataFrame(values, columns=['Type A', 'Type B'],
index=['Index 1', 'Index 2'])
df2.plot(lw=2, colormap='jet', marker='.', markersize=10,
title='Video streaming dropout by category')
Jak łatwo ustawić etykiety X i Y, zachowując jednocześnie moją zdolność do używania określonych map kolorów? Zauważyłem, że plot()
opakowanie dla pand DataFrames nie przyjmuje żadnych specyficznych parametrów.
python
pandas
dataframe
matplotlib
Everaldo Aguiar
źródło
źródło
pd.plot()
? Biorąc pod uwagę dodatkowy zwięzłość odpd.plot()
ponadplt.plot()
wydaje się, że to ma sens, aby jeszcze bardziej zwięzłe zamiast rozmowyax.set_ylabel()
.ax.set_ylabel("y label")
, zwraca błąd'list' object is not callable
. Dowolny pomysł?ax.axes.set_ylabel("y label")
.ax.set(xlabel='...)
podać wyższą odpowiedź, ponieważ można ją pominąć poza wykresem. To naprawdę najbardziej zwięzłe podejście do ustawiania obu osi, co jest powszechnym przypadkiem użycia.Możesz użyć zrób to w następujący sposób:
Oczywiście musisz zastąpić ciągi „xlabel” i „ylabel” tym, czym chcesz, aby były.
źródło
plt.xlabel()
itp. Późniejdf.plot()
, a nie wcześniej, ponieważ w przeciwnym razie otrzymasz dwie fabuły - wywołania zmodyfikują „poprzednią” fabułę. To samo dotyczyplt.title()
.Jeśli oznaczysz kolumny i indeks ramki danych, pandy automatycznie dostarczą odpowiednie etykiety:
W takim przypadku nadal musisz ręcznie podać etykiety Y (np. Poprzez,
plt.ylabel
jak pokazano w innych odpowiedziach).źródło
Możliwe jest ustawienie obu etykiet razem z
axis.set
funkcją. Poszukaj przykładu:źródło
.set(xlabel='x axis', ylabel='y axis')
rozwiązanie, ponieważ pozwala mi umieścić wszystko w jednym wierszu, w przeciwieństwie do metod wydruku set_xlabel i set_ylabel. Zastanawiam się, dlaczego wszyscy (nawiasem mówiąc, metoda set) nie zwracają obiektu wykresu lub przynajmniej czegoś z niego odziedziczonego.W przypadkach, w których korzystasz
pandas.DataFrame.hist
:Zauważ, że dostajesz tablicę działek, a nie działkę. Dlatego aby ustawić etykietę x, musisz zrobić coś takiego
źródło
co powiesz na ...
źródło
pandas
używamatplotlib
do podstawowych wykresów ramki danych. Tak więc, jeśli używaszpandas
do podstawowego wydruku, możesz użyć matplotlib do dostosowania wydruku. Proponuję tu jednak alternatywną metodę,seaborn
która pozwala na większą personalizację fabuły bez wchodzenia w podstawowy poziommatplotlib
.Kod roboczy:
źródło