我正在按照这个方向(教程)制作绘图仪表图
(https://plot.ly/python/gauge-charts/)。
但是似乎只能在屏幕上创建一个图表。
您知道如何制作多个图表,这些图表在一个屏幕(一个html文件)中包含那些仪表图吗?
所以我想在一个屏幕上创建许多仪表。
非常感谢!
这是代码。
import plotly
import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import plot
import plotly.plotly as py
import plotly.graph_objs as go
base_chart = {
"values": [40, 10, 10, 10, 10, 10, 10],
"labels": ["-", "0", "20", "40", "60", "80", "100"],
"domain": {"x": [0, .48]},
"marker": {
"colors": [
'rgb(255, 255, 255)',
'rgb(255, 255, 255)',
'rgb(255, 255, 255)',
'rgb(255, 255, 255)',
'rgb(255, 255, 255)',
'rgb(255, 255, 255)',
'rgb(255, 255, 255)'
],
"line": {
"width": 1
}
},
"name": "Gauge",
"hole": .4,
"type": "pie",
"direction": "clockwise",
"rotation": 108,
"showlegend": False,
"hoverinfo": "none",
"textinfo": "label",
"textposition": "outside"
}
meter_chart = {
"values": [50, 10, 10, 10, 10, 10],
"labels": ["Days" + "<br>" + "haaga", "How", "Many", "Days", "Are", "Left"],
"marker": {
'colors': [
'rgb(255, 255, 255)',
'rgb(226,126,64)',
'rgb(223,162,103)',
'rgb(223,189,139)',
'rgb(226,210,172)',
'rgb(232,226,202)'
]
},
"domain": {"x": [0, 0.48]},
"name": "Days Guage",
"hole": .3,
"type": "pie",
"direction": "clockwise",
"rotation": 90,
"showlegend": False,
"textinfo": "label",
"textposition": "inside",
"hoverinfo": "none",
}
layout = {
'xaxis': {
'showticklabels': False,
'showgrid': False,
'zeroline': False,
},
'yaxis': {
'showticklabels': False,
'showgrid': False,
'zeroline': False,
},
'shapes': [
{
'type': 'path',
'path': 'M 0.235 0.5 L 0.24 0.65 L 0.245 0.5 Z',
'fillcolor': 'rgba(44, 160, 101, 0.5)',
'line': {
'width': 0.5
},
'xref': 'paper',
'yref': 'paper'
}
],
'annotations': [
{
'xref': 'paper',
'yref': 'paper',
'x': 0.23,
'y': 0.45,
'text': '50',
'showarrow': False
}
]
}
# we don't want the boundary now
base_chart['marker']['line']['width'] = 0
fig = {"data": [base_chart, meter_chart],
"layout": layout}
plot(fig, filename='gauge-meter-chart')
答案 0 :(得分:0)
问题在于,刻度线是作为布局下的Converter
对象生成的,这可以通过对shape
和x
位置进行一些较小的计算来轻松实现。请参考下面的示例,其中我使用y
定义列数并将形状和注释放置在正确的位置。
注意:我仅对列执行此操作,请应用逻辑并使它也对行有效,如果这样做,还请发布您的解决方案,以便将来人们参考! / strong>
请尝试以下代码,让我知道您的问题是否已解决!
for loop