我想創建一個使用Matplotlib在Python(我使用spyder IDE)使用下面的代碼的填充圖。但是,我收到了代碼底部發布的錯誤。我想繪製的數據框包含沿x軸的日期,然後是一系列的y值(我創建了示例數據框以查看錯誤是否被再現,以防數據框出現問題)。填寫繪製Matplotlib - 錯誤:無效的類型提升
這似乎在阻礙我很多,我試圖從頭開始(並參觀了matplotlib網站,該網站發佈在代碼中的註釋中)。
我對Python和Matplotlib很新,也許我只是缺少一些基本的東西。我將需要爲我正在執行的工作添加大量具有日期時間x軸的圖表,所以如果有任何其他功能我應該知道,請讓我知道,因爲它將不勝感激!
在此先感謝!
import pandas as pd
import numpy as np
import datetime as dt
import matplotlib.pyplot as plt
data1 = [{'a':dt.datetime(2015,1,1,12,0,0), 'b':1},{'a':dt.datetime(2015,1,1,13,0,0), 'b':2},{'a':dt.datetime(2015,1,1,14,0,0), 'b':3}]
df1 = pd.DataFrame(data1)
data2 = [{'a':dt.datetime(2015,1,1,12,0,0), 'c':9},{'a':dt.datetime(2015,1,1,13,0,0), 'c':8},{'a':dt.datetime(2015,1,1,14,0,0), 'c':7}]
df2 = pd.DataFrame(data2)
df3 = pd.merge(df1, df2, how = 'left', on = 'a')
plt.fill(df3['a'], df3['c'])
plt.show()
"""
used this example code from Fill Demo on page http://matplotlib.org/users/screenshots.html
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 1)
y = np.sin(4 * np.pi * x) * np.exp(-5 * x)
plt.fill(x, y, 'r')
plt.grid(True)
plt.show()
"""
File "/Applications/anaconda/lib/python3.5/site-packages/numpy/core/shape_base.py", line 280, in hstack
return _nx.concatenate(arrs, 1)
TypeError: invalid type promotion
爲我工作。您使用的是什麼版本的熊貓,matplolib,nad NumPy? –
熊貓0.17.1,Matplotlib 1.5.0和Numpy 1.10.1 – Prevost