不确定如何在matplotlib

时间:2018-01-08 19:23:17

标签: python python-3.x matplotlib

我试图绘制财务数据,一切都看起来很好,直到我添加一个填充,我想要在一条线和图形顶部之间。我做错了什么,但我不知道是什么。我收到此错误:" TypeError:ufunc' isfinite'不支持 根据投射规则编辑类型''''"

这是我使用的代码的简化版本:

import mysql
import matplotlib.pyplot as plt

db = mysql.connect()
cursor = db.cursor()

contractID = input('Enter contract ID: ')

prices = []
x      = []

cursor.execute('SELECT * FROM prices WHERE ContractID = %s' % contractID)

for i in range(0, cursor.rowcount):
    row = cursor.fetchone()
    price = row[2] # Changing this to price = int(row[2]) fixes the problem. See comments.
    prices.append(price)
    x.append(i)

plt.fill_between(x, 100, prices) # TODO: This doesn't work. Everything else works if I remove this line.
plt.plot(prices)
plt.ylim(0, 100)
plt.show()

编辑:我很乐意提供一个最小的,完整的,可验证的示例,但是当我尝试这样做时,该示例有效。我不知道如何重现错误。

这是我的工作尝试:

import matplotlib.pyplot as plt

x = []
y = []

for i in range(0, 49):
    x.append(i)
    y.append(i)

plt.fill_between(x, 100, y) # This works fine now
plt.plot(x, '#000000')
plt.ylim(0, 100)
plt.show()

0 个答案:

没有答案