有没有一种使用 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()
我有一个看起来像这样的数据集,我需要使用位置作为颜色,文字作为 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()