我正在使用Dash来构建信息中心。我想在同一个图表中使用多个饼图,到目前为止this guide确实非常有用。请考虑以下代码:
import dash
import dash_core_components as dcc
import dash_html_components as html
app = dash.Dash()
app.layout = html.Div(
html.Div([
dcc.Graph(
id = 'pie-chart-1',
figure = {
'data': [
{
'labels': ['1st', '2nd', '3rd', '4th', '5th'],
'values': [38, 27, 18, 10, 7],
'type': 'pie',
'name': 'Starry Night',
'marker': {'colors': ['rgb(56, 75, 126)',
'rgb(18, 36, 37)',
'rgb(34, 53, 101)',
'rgb(36, 55, 57)',
'rgb(6, 4, 4)']},
'domain': {'x': [0, .48],
'y': [0, .49]},
'hoverinfo':'label+percent+name',
'textinfo':'none'
},
{
'labels': ['1st', '2nd', '3rd', '4th', '5th'],
'values': [28, 26, 21, 15, 10],
'marker': {'colors': ['rgb(177, 127, 38)',
'rgb(205, 152, 36)',
'rgb(99, 79, 37)',
'rgb(129, 180, 179)',
'rgb(124, 103, 37)']},
'type': 'pie',
'name': 'Sunflowers',
'domain': {'x': [.52, 1],
'y': [0, .49]},
'hoverinfo':'label+percent+name',
'textinfo':'none'
},
{
'labels': ['1st', '2nd', '3rd', '4th', '5th'],
'values': [38, 19, 16, 14, 13],
'marker': {'colors': ['rgb(33, 75, 99)',
'rgb(79, 129, 102)',
'rgb(151, 179, 100)',
'rgb(175, 49, 35)',
'rgb(36, 73, 147)']},
'type': 'pie',
'name': 'Irises',
'domain': {'x': [0, .48],
'y': [.51, 1]},
'hoverinfo':'label+percent+name',
'textinfo':'none'
},
{
'labels': ['1st', '2nd', '3rd', '4th', '5th'],
'values': [31, 24, 19, 18, 8],
'marker': {'colors': ['rgb(146, 123, 21)',
'rgb(177, 180, 34)',
'rgb(206, 206, 40)',
'rgb(175, 51, 21)',
'rgb(35, 36, 21)']},
'type': 'pie',
'name':'The Night Café',
'domain': {'x': [.52, 1],
'y': [.51, 1]},
'hoverinfo':'label+percent+name',
'textinfo':'none'
}
],
'layout': {'title': 'Van Gogh: 5 Most Prominent Colors Shown Proportionally',
'showlegend': False}
})]))
if __name__ == '__main__':
app.run_server(debug=True)
我想给每个饼图指定一个特定的名称。在饼图指南中,这是通过使用注释和设置某些文本的x和y坐标来完成的。我这真的是最直接的方式..?是否有其他方法来命名图形的不同子图?我想在我的仪表板中使用大约20个不同的饼图,并使用x和y坐标命名它们需要几个小时..
问题:如何命名各个饼图?如果除了指南中没有其他方法,我可能只创建20个图表。请告诉我这是不是一个好主意。
谢谢!