python - Python/Dash by Plotly:按日期分组案例
问题描述
我只能为发生的总案例绘制条形图,而不是使用此代码按发生日期对案例进行分组:
trace1=go.Bar(
x=pd.to_datetime(dfb['date']),
y=dfb.set_index('date').resample('M')["enrolled"].sum(),
)
如何进行分组日期?数据集如下
date enrolled
6/29/2018 1
6/29/2018 1
6/29/2018
6/29/2018 1
6/20/2018 1
6/22/2018 1
6/19/2018 1
6/27/2018 1
6/28/2018
6/27/2018 1
6/19/2018 1
6/20/2018 1
6/27/2018 1
6/27/2018
6/26/2018 1
6/27/2018
6/27/2018 1
谢谢
解决方案
我在我的中使用了以下内容data.csv
:
date enrolled
6/29/2018 1
6/29/2018 1
6/29/2018 0
6/29/2018 1
6/20/2018 1
6/22/2018 1
6/19/2018 1
6/27/2018 1
6/28/2018 0
6/27/2018 1
6/19/2018 1
6/20/2018 1
6/27/2018 1
6/27/2018 0
6/26/2018 1
6/27/2018 0
6/27/2018 1
这是解决您的问题的一种可能的解决方案:
import plotly
import plotly.graph_objs as go
import pandas as pd
# Read in data (might be already given in your code)
df = pd.read_csv('data.csv', delimiter=' ')
groups = df.groupby(['date'])
xData = []
yData = []
# Group data by keys and get sum
for group, data in df.groupby(['date']):
xData.append(group)
yData.append(data['enrolled'].sum())
data = [go.Bar(
x=xData,
y=yData
)]
plotly.offline.plot(data, filename='a-simple-plot')
此示例使用 dash 发布图形:
import pandas as pd
# Read in data (might be already given in your code)
df = pd.read_csv('data.csv', delimiter=' ')
groups = df.groupby(['date'])
xData = []
yData = []
# Group data by keys and get sum
for group, data in df.groupby(['date']):
xData.append(group)
yData.append(data['enrolled'].sum())
# Dash specific stuff
import dash
import dash_core_components as dcc
import dash_html_components as html
app = dash.Dash()
app.layout = html.Div(children=[
html.H1(
children='Hello Dash',
),
html.Div(children='Dash: A web application framework for Python.', style={
'textAlign': 'center'
}),
dcc.Graph(
id='example-graph-2',
figure={
'data': [
{'x':xData, 'y': yData, 'type': 'bar'},
],
'layout': {}
}
)
])
if __name__ == '__main__':
app.run_server(debug=True)
推荐阅读
- asp.net - 如何将 ASP.NET Gridview 中的其他语言(如法语、中文)字符插入 Oracle 表
- android - 如何在不创建自定义视图的情况下更改通知标题颜色
- java - 使用 Spring Thymeleaf 重定向到另一个页面
- javascript - 在 node.js 中使用 websocket 将原始数据发送到嵌入式系统
- python - 不断收到相同的错误消息,不能将序列乘以浮点类型的非整数
- python - 从多个龙卷风协程调用中收集列表结果
- r - R“read.table”函数在合并偶数列时只给出奇数列
- git - 如何对 Bitbucket 中的不同分支进行版本控制
- java - 由于本机代码,JVM 因 ArrayIndexOutOfBoundsException 而崩溃
- azure - Azure SignalR 服务