如何使用Plotly Graph Objects Python库在Azure Data Explorer Jmeter 板中绘制Gauge图表。
Kusto(带有Python插件)可以在Azure Data Explorer Jmeter 板中使用,以绘制Python Plotly图表(例如,条形图或散点图)。
但是,Plotly Express不能绘制 Jmeter 图。因此,需要使用Graph Objects库。
这个ADX代码可以工作(值硬设置为250):
['table']
| where abs(Prsr1IoTVal) >= 1
| top 1 by IoTEventDateTime
| project Pressure1Value=round(Prsr1IoTVal)
| evaluate python(typeof(plotly:string),
```if 1:
import plotly.graph_objects as go
fig = go.Figure(go.Indicator(
mode = "gauge+number",
value = 250,
domain = {'x': [0, 1], 'y': [0, 1]},
title = {'text': "Speed"}))
plotly_obj = fig.to_json()
result = pd.DataFrame(data = [plotly_obj], columns = ["plotly"])
```)
然而,我们尝试将该值设置为从Kusto表传入的值-没有返回行(即使我们知道Kusto查询确实返回值):
['glualwndpwriotevents-target-tbl']
| where abs(Prsr1IoTVal) >= 1
| top 1 by IoTEventDateTime
| project Pressure1Value=round(Prsr1IoTVal)*100
| evaluate python(typeof(plotly:string),
```if 1:
import plotly.graph_objects as go
fig = go.Figure(
data=[go.Indicator(
mode = "gauge+number",
value = df['Pressure1Value']
domain = {'x': [0, 1], 'y': [0, 1]},
title = {'text': "Speed"}
)
]
)
plotly_obj = fig.to_json()
result = pd.DataFrame(data = [plotly_obj], columns = ["plotly"])
```)
有什么建议吗?
谢谢.
1条答案
按热度按时间nhhxz33t1#
我在我的环境中复制,下面是我的预期结果:
我从你的查询或Python代码中观察到的是,你正在传递 Dataframe 对象,值期望它是标量值。
下面是为我工作的**
KQL query
**(修改了你的查询):Output:
Output of Json is :