Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
criptoivan
User
Beiträge: 9 Registriert: Freitag 15. Dezember 2017, 01:14
Freitag 15. Dezember 2017, 14:51
Hi,
ich möchte Balkendiagramm erzeugen. Statt mehrere Balken bekomme ich ein grosses Rechteck. Und Liniendiagramm mit gleichen Daten funktioniert ganz gut.
Hat jemand Idee wo ich Fehler habe?
Code: Alles auswählen
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
#from config.txt import polo_key, polo_secret
import requests, json
import numpy as np
import matplotlib.pyplot as plt
def public_method(command): #holt die daten aus Poloniex. Typ dict
#Variablen für Funktion:
#returnLoanOrders¤cy=LTC -> gibt daten von Verleiverlauf für LTC
url = 'https://poloniex.com/public?command={0}'.format(command)
api = requests.get(url)
data = json.loads(api.text)#json-Format in python-dict konvertieren
return data
Date_Lean_LTC = public_method('returnLoanOrders¤cy=LTC')# Verlei-Daten aus Poloniex rausholen
first_key = list(Date_Lean_LTC)[0]
#print(first_key)
first_list = Date_Lean_LTC[first_key]
#print(first_list)
#print(first_list[0]['rate'])
a_rate = []
a_amount = []
a_rangeMin = []
a_rangeMax = []
for second_dict in first_list:
#print(second_dict)
print(second_dict['rate'], second_dict['amount'], second_dict['rangeMin'], second_dict['rangeMax'])
a_rate = np.append(a_rate, second_dict['rate'])
a_amount = np.append(a_amount, second_dict['amount'])
a_rangeMin = np.append(a_rangeMin, second_dict['rangeMin'])
a_rangeMax = np.append(a_rangeMax, second_dict['rangeMax'])
x = a_rate.astype(float)
y = a_amount.astype(float)
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
#ax1.plot(x,y)
ax1.bar(x,y)
plt.show()
Sirius3
User
Beiträge: 17741 Registriert: Sonntag 21. Oktober 2012, 17:20
Freitag 15. Dezember 2017, 15:19
@criptoivan: hier nochmal alle Anmerkungen aus dem anderen Thread im Code umgesetzt:
Code: Alles auswählen
# -*- coding: utf-8 -*-
import requests
import numpy as np
import matplotlib.pyplot as plt
URL = 'https://poloniex.com/public'
def public_method(**params):
"""
holt die daten aus Poloniex. Typ dict
Variablen für Funktion:
command='returnLoanOrders', currency='LTC' -> gibt daten von Verleiverlauf für LTC
"""
result = requests.get(URL, params=params)
return result.json()
# Verlei-Daten aus Poloniex rausholen
date_lean_ltc = public_method(command='returnLoanOrders', currency='LTC')
offers = date_lean_ltc['offers']
rate = []
amount = []
range_min = []
range_max = []
for offer in offers:
print(offer)
rate.append(offer['rate'])
amount.append(offer['amount'])
range_min.append(offer['rangeMin'])
range_max.append(offer['rangeMax'])
rate = np.array(rate, dtype=float)
amount = np.array(amount, dtype=float)
range_min = np.array(range_min, dtype=float)
range_max = np.array(range_max, dtype=float)
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
#ax1.plot(rate, amount)
ax1.bar(rate, amount)
plt.show()
criptoivan
User
Beiträge: 9 Registriert: Freitag 15. Dezember 2017, 01:14
Freitag 15. Dezember 2017, 16:00
Vielen Danke,
jetzt verstehe ich was gemeint wurde. Sieht ordentlich aus.
Hast du Idee warum Balken-Diagramm nicht richtig läuft?
criptoivan
User
Beiträge: 9 Registriert: Freitag 15. Dezember 2017, 01:14
Freitag 15. Dezember 2017, 18:06
Noch eine Frage:
Wie kann ich sehen welche URL hier result = requests.get(URL, params=params) in Klammern generiert wird.
Ich kann andere Variablen durch print() rausgeben und anschauen was ich da habe. Kann ich hier auch so was ähnliches machen?