как сделать групповой барный сюжет в Matplotlib - PullRequest
0 голосов
/ 26 октября 2018

Я хочу сделать барплот из следующих данных:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

sales={'Apple':[50, 60, 40, 55],
    'Orange': [40, 25, 35, 60],
   'Cucumber': [10, 30, 40, 15],
   'Banana': [70, 60, 40, 50],
   'Peach':[10, 30, 40, 20],
   'Melon': [5, 20, 70, 10],
   'Berries': [30, 40, 50, 60]}

data=pd.DataFrame(sales, index=['Q1','Q2','Q3','Q4'])

Я определяю функцию, как показано ниже:

def bar_plots(df, bar_width, alpha=0.3, colors=None ):
    indx=np.arange(df.shape[1])
    for colm, idx, colr in zip(df.columns, indx, colors):
        plt.bar([p+(bar_width*idx) for p in indx ], df[colm], alpha, colr, label=colm )
    plt.xlabel('Quarters')
    plt.ylabel('Sales')
    plt.xticks(index + (bar_width*(len(indx))) / (len(indx)+1), ('Q1', 'Q2', 'Q3', 'Q4'))

Я получаю следующую ошибку при вызове функции:

bar_plots(data, 0.3, alpha=0.3, colors=['r','orange','g','y','coral','lime','b'] )



AttributeError: 'NoneType' object has no attribute 'update'

Я не знаю, где я делаю ошибку, и ценю любую помощь.

1 Ответ

0 голосов
/ 26 октября 2018

вы можете использовать plot(kind='bar')

data.plot(kind='bar')

data.plot(kind='bar')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...