如何使用 Plotly 绘制 IBM Watson NLU API JSON 输出?
How to plot IBM Watson NLU API JSON output using Plotly?
我使用了 IBM Watson NLU API 并以 JSON 格式从响应中获取关键字。现在,我想通过使用 plotly 'x'='text' ,'y'='count' 来绘制图表,但不知道该怎么做。image
没有简单或直接的方法可以实现这一点。您可能必须使用像 pandas 这样的库来将 JSON 输出转换为 plotly 可以在图表上绘制的格式。
您可以从 Pandas 101 - https://plot.ly/pandas/intro-to-pandas-tutorial/
开始
这是使用 IBM Watson studio 上的 Jupyter notebook 绘制的带有文本和计数数据的 Plotly 条形图
剧情代码:
import plotly
import plotly.plotly as py
import plotly.graph_objs as go
NLU_data = [go.Bar(x=NLU_df.text, y=NLU_df['count'].tolist())]
py.iplot({ 'data': NLU_data,
'layout': {
'title': 'Distribution',
'xaxis': {
'title': 'text'},
'yaxis': {
'title': 'count'}
}})
您可以找到Jupyter notebook here完整代码供您参考
如果您的 JSON 对象被调用 response
,那么此示例代码会将其转换为 pandas 数据框并将其显示为图形。
import pandas as pd
df = pd.DataFrame(response['keywords'], columns=['text', 'relevance', 'count'])
df.plot(kind='barh', x='text', y='count')
它将显示如下内容:
我使用了 IBM Watson NLU API 并以 JSON 格式从响应中获取关键字。现在,我想通过使用 plotly 'x'='text' ,'y'='count' 来绘制图表,但不知道该怎么做。image
没有简单或直接的方法可以实现这一点。您可能必须使用像 pandas 这样的库来将 JSON 输出转换为 plotly 可以在图表上绘制的格式。
您可以从 Pandas 101 - https://plot.ly/pandas/intro-to-pandas-tutorial/
开始这是使用 IBM Watson studio 上的 Jupyter notebook 绘制的带有文本和计数数据的 Plotly 条形图
剧情代码:
import plotly
import plotly.plotly as py
import plotly.graph_objs as go
NLU_data = [go.Bar(x=NLU_df.text, y=NLU_df['count'].tolist())]
py.iplot({ 'data': NLU_data,
'layout': {
'title': 'Distribution',
'xaxis': {
'title': 'text'},
'yaxis': {
'title': 'count'}
}})
您可以找到Jupyter notebook here完整代码供您参考
如果您的 JSON 对象被调用 response
,那么此示例代码会将其转换为 pandas 数据框并将其显示为图形。
import pandas as pd
df = pd.DataFrame(response['keywords'], columns=['text', 'relevance', 'count'])
df.plot(kind='barh', x='text', y='count')
它将显示如下内容: