plotly.Graph_object
trace=[]
trace.append(
go.Scatter(
x= df['x'],
y= df['y']
mode='markers'
)
)
layout = go.Layout()
fig = go.Figure(
data=trace, layout=layout)
fig.show()
fig = go.Figure()
fig.add_trace(
go.Scatter(
x= df['x'],
y= df['y']
mode='markers'
)
)
fig.update_layout()
fig.show()
https://plotly.com/python-api-reference/plotly.graph_objects.html
low-level interface to figures, traces and layout
import plotly.graph_objects as go Figure(data=None, layout=None, frames=None, skip_invalid=False, **kwargs)
Bar Chart
https://plotly.com/python/bar-charts/
Layout : https://plotly.com/python/reference/layout/
go vs. px
plotly.graph_objects (as go) vs. plotly.express (as px)
#!/usr/bin/env python # coding: utf-8 import plotly.express as px iris = px.data.iris() df = iris.copy() # plotly.express fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species", size='petal_length', hover_data=['petal_width'] ) fig.show() # plotly.graph_objects import plotly.graph_objects as go fig = go.Figure() fig.add_trace( go.Scatter( x=df[df.species=='setosa']['sepal_width'], y=df[df.species=='setosa']['sepal_length'], mode='markers', #name='setosa', marker=dict( color='#6973FB', size=df[df.species=='setosa']['petal_length']*10 ) ) ) fig.add_trace( go.Scatter( x=df[df.species=='versicolor']['sepal_width'], y=df[df.species=='versicolor']['sepal_length'], mode='markers', #name='versicolor', marker=dict( color='#F1644D', size=df[df.species=='versicolor']['petal_length']*5 ) ) ) fig.add_trace( go.Scatter( x=df[df['species']=='virginica']['sepal_width'], y=df[df['species']=='virginica']['sepal_length'], mode='markers', #name='virginica', marker=dict( color='#29C99F', size=df[df['species']=='virginica']['petal_length']*4.6 ) ) ) fig.update_layout( xaxis = dict(title='sepal_width'), yaxis = dict(title='sepal_length'), legend_title_text='species', title = 'plotly.graph_objects' ) fig.show()
Figure 의 구조
import plotly.graph_objects as go fig = go.Figure()
plotly의 graph_object인 go의 Figure에는 2가지 속성 즉, Data와 Layout 이 있다.
https://github.com/santosjorge/cufflinks
Data 객체 입력방식
import pandas as pd import numpy as np import plotly.graph_objects as go import plotly.express as px # pd.set_option('display.max_row', 500) # pd.set_option('display.max_columns', 100) # pd.options.plotting.backend = "plotly" import chart_studio.plotly as py import cufflinks as cf df = pd.read_csv('../data/kc_house_data.csv') px.scatter(df, x="date", y="price", hover_data=['id'] ).show() #------------------------- trace1 = go.Scattergl( x= df.sqft_living15, y= df.price, mode='markers', marker = dict( opacity=0.5 ) ) layout = go.Layout( title = 'Price vs. Living Room Area', xaxis = dict(title='Living room area (sq. ft.)'), yaxis = dict(title='Price ($)'), hovermode = 'closest' ) fig = go.Figure(data=[trace1], layout=layout) fig.show()