有没有一种使用 iplot 绘制多条形图的简单方法?

Is there a simple way to plot a multiple bar graph using iplot?

我有一个看起来像这样的数据集,我需要使用位置作为颜色,文字作为 x 轴。

country   good   amazing    best
    Aus     12        45      12
   Fiji     25         5      23
    USA     45         5      12
     UK     88       258      18

理想情况下,它看起来像这样:

我尝试了以下代码:

positive.iplot(kind = 'bar', title = 'Frequency of Positive Words per Country', y = 'Location', x = ['good', 'amazing', 'best'])

要生成您想要的分组条形图,每个国家及其值都应该有自己的列,因此您需要在某个时候转置您的 df。

另外,在您的示例图片中,条形图的高度似乎与您的 df 中的值不匹配,但我假设这只是一张图片,用于显示您要创建的条形图类型。

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
    'country': ["Aus","Fiji","USA","UK"], 
    'good': [12,25,45,88], 
    'amazing': [45,5,5,258],
    'best':[12,23,12,18]})

df_values = df[['good','amazing','best']]
df_values.index = df['country']

# transpose the dataframe so that each country and its values have its own column
ax = df_values.T.plot.bar(rot=0)
plt.show()