[英]Altair chart with alpha-vantage pandas data
我正在努力用 altair 繪制我的 pandas alpha vantage 數據,因為我無法按照我想要的方式獲取數據。
這就是它來自我的 alpha-vantage 查詢的方式:
這就是我的代碼現在的樣子:
context = locals()
source = data[0]['1a. open (USD)']
print(source[0])
context["chart"] = alt.Chart(source).mark_area(
line={'color': 'black'},
color=alt.Gradient(
gradient='linear',
stops=[alt.GradientStop(color='white', offset=0),
alt.GradientStop(color='black', offset=1)],
x1=1,
x2=1,
y1=1,
y2=0
)
).encode(
alt.X('date:T'),
alt.Y('price:Q')
).interactive()
運行代碼時出現此錯誤:
altair.utils.schemapi.SchemaValidationError: Invalid specification
altair.vegalite.v4.api.Chart->0, validating 'additionalProperties'
Additional properties are not allowed (Timestamp('2018-05-13 00:00:00'), Timestamp('2019-07-18
00:00:00'), Timestamp('2018-11-09 00:00:00'), Timestamp('2020-10-17 00:00:00'), Timestamp('2018-
07-05 00:00
----- lots more here -----
Timestamp('2020-05-02 00:00:00'), Timestamp('2018-05-08 00:00:00'), Timestamp('2018-10-05
00:00:00') were unexpected)
所以問題是如何將我的 pandas 數據作為兩個 arrays 獲取,一個用於時間戳,一個用於關閉數據值:所以我可以這樣做:
data = pd.DataFrame({'x': ['A', 'B', 'C', 'D', 'E'],
'y': [5, 3, 6, 7, 2]})
alt.Chart(data).mark_bar().encode(
x='x',
y='y',
)
謝謝!
source
必須是 pandas DataFrame; 看來您正在傳遞一個時間戳元組。 改為傳遞 dataframe,您將不會看到此錯誤。
因為您沒有包含data
變量如何生成的完整示例,所以我無法提供更具體的建議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.