【发布时间】:2021-12-15 19:26:21
【问题描述】:
根据下面的代码,我想以绘图方式可视化我的数据。但是,我创建的饼图也显示了 Null,我想省略它。
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import plotly.express as px
import pandas as pd
df = pd.DataFrame([
['January', 'Violin'],
['February', 'Piano'],
['March', 'Violin'],
['February', 'Violin'],
['January', 'Piano'],
['January', 'Violin']],
columns=['Month', 'Instrument']
)
df = df.pivot(columns='Month', values='Instrument')
app = dash.Dash(__name__)
app.layout = html.Div([
html.P("Select a month:"),
dcc.Dropdown(
id='my_dropdown',
value = 'January',
options=[
{'label': 'January', 'value': 'January'},
{'label': 'February', 'value': 'February'},
{'label': 'March', 'value': 'March'}
],
clearable=False,
style={"width": "50%"}
),
dcc.Graph(id="pie-chart"),
])
@app.callback(
Output("pie-chart", "figure"),
[Input("my_dropdown", "value")])
def generate_chart(my_dropdown):
fig = px.pie(df, names=my_dropdown)
return fig
app.run_server(debug=True)
在这种情况下,我应该将某些内容更改为代码的情节部分,还是应该以不同的方式转换我的初始 DataFrame(而不是使用 df.pivot() 选项)?
【问题讨论】: