3
我遇到了一個螢石問題,圖表展示了一個'擺動線',當這條線應該是直線的,並且日期間隔不等。Vegalite每日折線圖擺動
任何人都可以驗證這是一個錯誤,或者我在我的規範中犯了錯誤嗎? 。
我發現當你增加數據點的數量時,這個問題會變得更加嚴重。
複製此問題,粘貼下面的規格爲vega lite editor:
{
"description": "",
"data": {
"values": [
{
"date": "2017-01-23",
"value": 100
},
{
"date": "2017-01-24",
"value": 200
},
{
"date": "2017-01-25",
"value": 300
},
{
"date": "2017-01-26",
"value": 400
},
{
"date": "2017-01-27",
"value": 500
},
{
"date": "2017-01-28",
"value": 600
},
{
"date": "2017-01-29",
"value": 700
},
{
"date": "2017-01-30",
"value": 800
},
{
"date": "2017-01-31",
"value": 900
},
{
"date": "2017-02-01",
"value": 1000
},
{
"date": "2017-02-02",
"value": 1100
},
{
"date": "2017-02-03",
"value": 1200
},
{
"date": "2017-02-04",
"value": 1300
},
{
"date": "2017-02-05",
"value": 1400
},
{
"date": "2017-02-06",
"value": 1500
},
{
"date": "2017-02-07",
"value": 1600
}
]
},
"mark": "line",
"encoding": {
"x": {
"field": "date",
"type": "temporal"
},
"y": {
"field": "value"
}
},
"config": [],
"embed": {
"renderer": "canvas",
"actions": {
"export": false,
"source": false,
"editor": false
}
}
}
編輯:跟進 - 在牛郎星實驗,好像這個日期方面是無關緊要的。您同時與下面的代碼塊得到了同樣的問題:
import pandas as pd
import numpy as np
from altair import *
s1 = pd.date_range(start="2017-01-23", end="2020-02-07")
s2 = np.arange(1,len(s1)+1)*100
df = pd.DataFrame({"date":s1, "value":s2})
Chart(df).mark_line(
).encode(
x='date',
y='value'
)
和
import pandas as pd
import numpy as np
from altair import *
s1 = np.arange(1,1000,1)
s2 = np.arange(1,len(s1)+1)*100
df = pd.DataFrame({"x":s1, "value":s2})
Chart(df).mark_line(
).encode(
x='x',
y='value'
)
相反下面產生流暢的情節(熊貓和matplotlib):
%matplotlib inline
df.plot('date', 'value')
非常感謝!如果有人使用Altair並且看到了這個,你可以使用'Chart(df).configure_scale( round = False)' – RobinL
將這個傳遞給Vega ...並且在R'vegalite'包中你必須手動添加它, vl < - vegalite :: vegalite()'等,一旦創建了'vl'列表,你可以執行'vl $ x $ config $ scale $ round < - FALSE' – RobinL
這看起來像一個bug,我們會修復這個在Vega-Lite中(我是Vega-Lite團隊成員)。 – kanitw