• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Python - wykres na podstawie danych z csv file.

VPS Starter Arubacloud
0 głosów
3,156 wizyt
pytanie zadane 22 września 2018 w Python przez Beata Nowicjusz (120 p.)

Kod programu mam, ale nie działa mi poprawnie. Mam za zadanie narysować wykres na podstawie csv file. Na osi xsów - data, na osi yków - close (cena). Próbowałam już ustawić DayLocator, ale mi nie działa. Też nie wiem konkretnie jak zmienić format daty. To chyba najważniejsze. Szukałam różnych kodów, ale nie daję rady z tym. Czy może ktoś z tym pomóc?

import matplotlib.pyplot as plt
import matplotlib.dates as dates
import pandas as pd


data = pd.read_csv(r'C:\Users\Beata\Desktop\Data\FB_stock_prices_daily.csv')
data['date'] = pd.to_datetime(data['date'])

figure = plt.figure()
axis = figure.add_subplot(111)
axis.set_title("FB")
axis.set_xlabel("date")
axis.set_ylabel("close")
plt.setp(axis.xaxis.get_minorticklabels(), rotation=90, fontsize=5) 
axis.xaxis.grid(True, which="minor")
axis.xaxis.set_major_locator(dates.DayLocator())
axis.xaxis.set_minor_formatter(dates.DateFormatter('&d/$m/$Y'))
figure.autofmt_xdate() 
plt.plot(data['date'], data['close'])
plt.grid()
plt.show()

Dane wyglądają tak:

date close volume open high low
6/18/2018 198.31 16470990 194.8 199.58 194.13
6/19/2018 197.49 19968690 196.235 197.96 193.79
6/20/2018 202 28175590 199.1 203.55 198.805
6/21/2018 201.5 18906350 202.76 203.39 200.09
6/22/2018 201.74 17050440 201.16 202.24 199.31
6/25/2018 196.35 25170720 200 200 193.11
6/26/2018 199 17869610 197.6 199.1 196.23
6/27/2018 195.84 18697530 199.18 200.75 195.8
6/28/2018 196.23 18153600 195.18 197.34 193.26
6/29/2018 194.32 15516540 197.32 197.5997 193.955
7/2/2018 197.36 13735130 193.37 197.45 192.22
7/3/2018 192.73 13489510 194.55 195.4 192.52
7/5/2018 198.45 19582000 194.74 198.65 194.03
7/6/2018 203.23 19687900 198.45 203.64 197.7
7/9/2018 204.74 18133700 204.93 205.8 202.1201
7/10/2018 203.54 12868530 204.5 204.91 202.26

1 odpowiedź

0 głosów
odpowiedź 22 września 2018 przez NIMuser Stary wyjadacz (11,030 p.)
edycja 22 września 2018 przez NIMuser

Tu masz rozwiązanie podobnego problemu:

https://matplotlib.org/examples/api/date_demo.html

 

Tu jest podobny przykład:

https://blog.mafr.de/2012/03/11/time-series-data-with-matplotlib/

 

Jest jeszcze coś takiego, jak

matplotlib.pyplot.plot_date(x, y, fmt='o', tz=None, xdate=True, ydate=False, *, data=None, **kwargs)

xdate ma być ustawione na True, jeśli na osi X umieszczasz daty.

 

 

Podobne pytania

0 głosów
1 odpowiedź 1,427 wizyt
pytanie zadane 8 maja 2018 w Java przez programkamil Początkujący (270 p.)
0 głosów
4 odpowiedzi 3,105 wizyt
pytanie zadane 22 listopada 2016 w PHP przez Q_Nick Mądrala (5,010 p.)
0 głosów
0 odpowiedzi 298 wizyt

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...