Python 如何使用Plotly绘制IBM Watson NLU API JSON输出?

Python 如何使用Plotly绘制IBM Watson NLU API JSON输出?,python,api,plotly,ibm-watson,Python,Api,Plotly,Ibm Watson,我使用IBM Watson NLU API并以JSON格式从响应中获取关键字。现在,我想用plotly的'x'='text','y'='count'来绘制一个图形,但我不知道怎么做。实现这一点没有简单或直接的方法。您可能需要使用pandas之类的库将JSON输出转换为plotly可以在图表上打印的格式 你可以从熊猫101开始- 下面是使用IBM Watson studio上的Jupyter笔记本绘制的带有文本和计数数据的Plotly条形图 绘图代码: import plotly import

我使用IBM Watson NLU API并以JSON格式从响应中获取关键字。现在,我想用plotly的'x'='text','y'='count'来绘制一个图形,但我不知道怎么做。

实现这一点没有简单或直接的方法。您可能需要使用pandas之类的库将JSON输出转换为plotly可以在图表上打印的格式

你可以从熊猫101开始-

下面是使用IBM Watson studio上的Jupyter笔记本绘制的带有文本和计数数据的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'}
        }})

您可以找到完整的代码供参考

如果您的JSON对象被调用
response
,则此示例代码将其转换为pandas数据帧并显示为图形

import pandas as pd
df = pd.DataFrame(response['keywords'], columns=['text', 'relevance', 'count']) 
df.plot(kind='barh', x='text', y='count')
它将显示如下内容:


摆姿势时,请使用文本而不是图像。谢谢,这真的很有帮助