Posteriormente a observar en varios repositorios y sitios webs de internet finalmente encontramos la respuesta que te mostraremos pronto.
Solución:
Con la versión 4.8 de Plotly.py, el código de la pregunta original ahora se admite casi sin modificaciones:
pd.options.plotting.backend = "plotly"
df.plot(x='date', y=['sessions', 'cost'])
Respuesta anterior, a julio de 2019
Para este ejemplo, podría preparar los datos de forma ligeramente diferente.
df_melt = df.melt(id_vars='date', value_vars=['sessions', 'cost'])
Si transpone/fusiona sus columnas (sesiones, costo) en filas adicionales, puede especificar la nueva columna ‘variable’ para particionar en el parámetro de color.
px.line(df_melt, x='date' , y='value' , color='variable')
Ejemplo de salida plotly_express
Con las versiones más nuevas de plotly, todo lo que necesita es:
df.plot()
Siempre que recuerde configurar pandas plotting backend para plotly:
pd.options.plotting.backend = "plotly"
Desde aquí, puede ajustar fácilmente su trama a su gusto, por ejemplo, configurando el tema:
df.plot(template='plotly_dark')
Trama con tema oscuro:
Una característica particularmente sorprendente con las versiones más nuevas de plotly es que ya no tiene que preocuparse si su marco de datos de pandas es de formato ancho o largo. De cualquier manera, todo lo que necesitas es df.plot()
. Echa un vistazo a los detalles en el fragmento a continuación.
Código completo:
# imports
import plotly.express as px
import pandas as pd
import numpy as np
# settings
pd.options.plotting.backend = "plotly"
# sample dataframe of a wide format
np.random.seed(4); cols = list('abc')
X = np.random.randn(50,len(cols))
df=pd.DataFrame(X, columns=cols)
df.iloc[0]=0; df=df.cumsum()
# plotly figure
df.plot(template = 'plotly_dark')
Respuesta para versiones anteriores:
Sugeriría encarecidamente usar iplot()
en cambio, si desea usar plotly en un Jupyter Notebook, por ejemplo:
Gráfico:
Código:
import plotly
import cufflinks as cf
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import pandas as pd
import numpy as np
# setup
init_notebook_mode(connected=True)
np.random.seed(123)
cf.set_config_file(theme='pearl')
# Random data using cufflinks
df1 = cf.datagen.lines()
df2 = cf.datagen.lines()
df3 = cf.datagen.lines()
df = pd.merge(df1, df2, how='left',left_index = True, right_index = True)
df = pd.merge(df, df3, how='left',left_index = True, right_index = True)
fig = df1.iplot(asFigure=True, kind='scatter',xTitle='Dates',yTitle='Returns',title='Returns')
iplot(fig)
Nos puedes añadir valor a nuestra información asistiendo con tu experiencia en las crónicas.