I am following this link to study https://plot.ly/python/bar-charts/ plot graphs in python using plotly.
As per my requirement ,I have sample data of the form
data=[
('2018-04-17','22:00:00',['p1',5],['p2',10],['p3',15]),
('2018-04-18','20:00:00',['p3',5],['p4',10],['p3',15])
]
So I want to create a stacked bar graph of this data using plotly. On X-axis,first two values of tuple will be plotted(date and time).
On y-axis , a stacked graph having three values with bar height in link with the value(which will be shown on mouse hover).As total 4 values are there in this data(p1,p2,p3,p4),four different colors will be used for them.
What I have tried : I basically tried hit and trial using the methods shown like take two data values using plotly offline graph object.But I am not able to draw it.
Can Anyone please provide suggestions for stacked histogram of these data.I have to view the generated file in browser and I am using plotly in offline mode.
What code I tried :
import plotly
import plotly.graph_objs as go
plotly.offline.init_notebook_mode(connected=True)
data=[
('2018-04-17','22:00:00',['p1',5],['p2',10],['p3',15]),
('2018-04-18','20:00:00',['p3',5],['p4',10],['p3',15])
]
x_axis=[]
y_axis=[]
plot_data=[]
for d in data
date,time=d[0],d[1]
x_axis.append(d[0]+" "+d[1])
for j in range (2, len(d))
y_axis.append(d[j][1])
trace[]=go.Bar(
x=x_axis,
y=y_axis)
plot_data.append(trace)
plotly.offline.plot(plot_data, filename='stacked-bar')
You need to use fig
and layout
. In layout
you set barmode
equal to stack
:
import plotly
import plotly.graph_objs as go
plotly.offline.init_notebook_mode(connected=True)
data=[
('2018-04-17','22:00:00',['p1',5],['p2',10],['p3',15]),
('2018-04-18','20:00:00',['p3',5],['p4',10],['p3',15])
]
x_axis=[]
y_axis=[]
plot_data=[]
for d in data:
date,time=d[0],d[1]
x_axis.append(d[0]+" "+d[1])
for j in range (2, len(d)):
y_axis.append(d[j][1])
trace=go.Bar(
x=x_axis,
y=y_axis)
plot_data.append(trace)
layout = go.Layout(barmode="stack")
fig = go.Figure(data=plot_data, layout=layout)
plotly.offline.plot(fig, filename='stacked-bar.html')
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.