Невозможно отобразить данные с помощью matplotlib, скажем, числа из массива MySQL (десятичные ('') - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь разбросать сюжеты о карьере НФЛ, которые в течение первых двух сезонов в лиге собрали менее 1000 ярдов.

Когда я просто запускаю таблицу в Workbench, все данные отображаются так, как она должна выглядеть.Но когда я использую PyCharm, используя приведенный ниже код, я думаю, что что-то идет не так.Когда я запускаю plt.show (), я получаю окно с «Рисунок 1», но внутри него ничего нет.Когда я печатаю (TDpG), я получаю обратно:

[Десятичное число ('44 ') Десятичное число ('48') Десятичное число ('33 ') Десятичное число ('43') Десятичное число ('25 ') ...]

Это причина моей проблемы?Это то, что мне нужно изменить в запросе к базе данных?

import mysql.connector as con
import matplotlib as mpl

mpl.use('TkAgg')
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

mydb = con.connect(
    host="localhost",
    user="root",
    password="=",
    database="NFLffDB"
)

mycursor = mydb.cursor()

wr = "SELECT (cartdrec/TotalGames) as TDpG, (carecy/TotalGames) as YpG FROM `NFLffDB`.`player`JOIN  ( SELECT offense.player as playerid, sum(offense.trg) as cartrg, sum(offense.rec) as carec, sum(offense.recy) as carecy, sum(offense.tdrec) as cartdrec, count(offense.player) as TotalGames FROM `NFLffDB`.`offense`JOIN  ( SELECT * FROM  ( SELECT player.player as badearlyWR, player.start as Start, player.pname, player.pos1, sum(offense.trg) as trg, sum(offense.rec) as earlyrec, sum(offense.recy) as earlyrecy, sum(offense.tdrec) as earlytdrec FROM `NFLffDB`.`player`JOIN offense on player.player =  offense.player WHERE player.pos1 = 'WR' and offense.year < player.start + 2 and offense.year != 2017  GROUP BY player.player, player.start ) AS subQWR2 WHERE subQWR2.earlyrecy < 1000 ) as youngcareer on offense.player =  youngcareer.badearlyWR WHERE year > Start+1 and year < Start+7             GROUP BY offense.player ) as CarNum on player.player=CarNum.playerid ORDER BY YpG DESC LIMIT 200; "
mycursor.execute(wr)

myresult = mycursor.fetchall()

df = pd.DataFrame(list(myresult), columns=["TDpG", "YpG"])

TDpG = np.array(df.TDpG)
YpG = np.array(df.YpG)

plt.scatter(TDpG, YpG)

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