python - examples - Log-log lmplot con Seaborn
seaborn python install (2)
Llama a la función marítima primero. Devuelve un objeto FacetGrid
que tiene un atributo de axes
(una matriz numpy 2-d de Axes de matplotlib). Coge el objeto Axes
y df1.plot
a la llamada a df1.plot
.
import numpy as np
import pandas as pd
import seaborn as sns
x = 10**np.arange(1, 10)
y = 10**np.arange(1,10)*2
df1 = pd.DataFrame(data=y, index=x)
df2 = pd.DataFrame(data = {''x'': x, ''y'': y})
fgrid = sns.lmplot(''x'', ''y'', df2)
ax = fgrid.axes[0][0]
df1.plot(ax=ax)
ax.set_xscale(''log'')
ax.set_yscale(''log'')
¿Puede la función lmplot
de Seaborn trazar en una escala log-log? Esto es lmplot en una escala normal.
import numpy as np
import pandas as pd
import seaborn as sns
x = 10**arange(1, 10)
y = 10** arange(1,10)*2
df1 = pd.DataFrame( data=y, index=x )
df2 = pd.DataFrame(data = {''x'': x, ''y'': y})
sns.lmplot(''x'', ''y'', df2)
Si solo desea trazar una regresión simple, será más fácil usar seaborn.regplot
. Esto parece funcionar (aunque no estoy seguro de dónde va la cuadrícula menor del eje y)
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
x = 10 ** np.arange(1, 10)
y = x * 2
data = pd.DataFrame(data={''x'': x, ''y'': y})
f, ax = plt.subplots(figsize=(7, 7))
ax.set(xscale="log", yscale="log")
sns.regplot("x", "y", data, ax=ax, scatter_kws={"s": 100})
Si necesita usar lmplot
para otros propósitos, esto es lo que viene a la mente, pero no estoy seguro de lo que está sucediendo con las marcas del eje x. Si alguien tiene ideas y es un error en el transporte marítimo, me complace solucionarlo:
grid = sns.lmplot(''x'', ''y'', data, size=7, truncate=True, scatter_kws={"s": 100})
grid.set(xscale="log", yscale="log")