Wykres liniowy i kolumnowy

0
import  numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('C:\Kodilla\learning-git-13\movies.csv')

df['release_date'] = pd.to_datetime(df['release_date'])
df["year"] = df.release_date.dt.year
zx=df.groupby("year").agg({"revenue": np.mean, "budget": np.mean})
chart=zx.loc['2010-01-01':'2017-12-31', ['revenue', 'budget']]

z=np.arange(3)

def million(x, pos):
  return '{:2.1f}M'.format(z*1e-6)

fig = plt.figure()
axes = fig.add_axes([0,0,1,1])
axes.plot(df['release_date'],chart['budget'],label='budget',color = 'red')
axes.bar(df['release_date'],chart['revenue'],label='revenue')
axes.legend(loc=(1.05,0.9))
axes.set_title('Średni przychód i budżet filmu w latach 2010-2016')
formatter = plt.FuncFormatter(million)
axes.yaxis.set_major_formatter(formatter)
plt.xlabel('Lata') # dodajemy opis osi X
plt.ylabel('Wartość') # dodajemy opis osi Y
plt.title('Średni przychód i budzet filmów w latach 2010-2016') # dodajemy tytuł wykresu
plt.show()

pobieram dane z csv nastepnie grupuje to na roczne budzety i przychody potem robie przedział od 2010 do 2016 roku i jak robie by na jednym wykresie był wykres kolumnowy dla revenue i liniowy dla plot to mi nie działa i trochę nie wiem jak to poprawić ?

axes.plot(df['release_date'], chart['budget'],label='budget',color = 'red')
axes.bar(df['release_date'], chart['revenue'],label='revenue')

Z tym powyżej jest coś nie tak , ma być jeden wykres i dane dla budzetu jako wykres liniowy i dane dla przychodów na kolumnowym

0

Wygląda na to, że w kodzie używasz złej zmiennej zx zamiast chart w linii axes.plot(df['release_date'],chart['budget'],label='budget',color = 'red'). Powinieneś też użyć chart['year'] zamiast df['release_date'] w dwóch kolejnych liniach, ponieważ chart zawiera dane na temat roku, a nie daty.

axes.plot(chart['year'],chart['budget'],label='budget',color = 'red')
axes.bar(chart['year'],chart['revenue'],label='revenue')
Ponadto, w kodzie znajduje się błąd w linii z=np.arange(3), ponieważ zmienna z nie jest nigdzie używana. Możesz ją usunąć.

Powinieneś też zmienić nazwę zmiennej chart na coś, co będzie bardziej odpowiednie dla danych, które w niej przechowujesz, na przykład yearly_data.

1 użytkowników online, w tym zalogowanych: 0, gości: 1