Function/Method 供 Altair 读取 json 文件
Function/Method for Altair to read json file
在python potly中有一个读取JSON文件的函数,即.to_potly_json(),通过使用这个函数我们可以理解图表的各个方面。 “Altair”是否有同样的功能?
我已经在 potly 中尝试过这个功能,但我正在尝试在 Altair 中做同样的事情
您可以看到您将绘图同时作为字典 (chart.to_dict()
) 和 json (print(chart.to_json())
)。这是一个例子:
import altair as alt
import pandas as pd
source = pd.DataFrame({
'a': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
'b': [28, 55, 43, 91, 81, 53, 19, 87, 52]
})
alt.Chart(source).mark_bar().encode(
x='a',
y='b'
).to_dict()
{'config': {'view': {'continuousWidth': 400, 'continuousHeight': 300}},
'data': {'name': 'data-c2a3e89ba9d5d1687d5e8c28d630a033'},
'mark': 'bar',
'encoding': {'x': {'field': 'a', 'type': 'nominal'},
'y': {'field': 'b', 'type': 'quantitative'}},
'$schema': 'https://vega.github.io/schema/vega-lite/v5.2.0.json',
'datasets': {'data-c2a3e89ba9d5d1687d5e8c28d630a033': [{'a': 'A', 'b': 28},
{'a': 'B', 'b': 55},
{'a': 'C', 'b': 43},
{'a': 'D', 'b': 91},
{'a': 'E', 'b': 81},
{'a': 'F', 'b': 53},
{'a': 'G', 'b': 19},
{'a': 'H', 'b': 87},
{'a': 'I', 'b': 52}]}}
在python potly中有一个读取JSON文件的函数,即.to_potly_json(),通过使用这个函数我们可以理解图表的各个方面。 “Altair”是否有同样的功能?
我已经在 potly 中尝试过这个功能,但我正在尝试在 Altair 中做同样的事情
您可以看到您将绘图同时作为字典 (chart.to_dict()
) 和 json (print(chart.to_json())
)。这是一个例子:
import altair as alt
import pandas as pd
source = pd.DataFrame({
'a': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
'b': [28, 55, 43, 91, 81, 53, 19, 87, 52]
})
alt.Chart(source).mark_bar().encode(
x='a',
y='b'
).to_dict()
{'config': {'view': {'continuousWidth': 400, 'continuousHeight': 300}},
'data': {'name': 'data-c2a3e89ba9d5d1687d5e8c28d630a033'},
'mark': 'bar',
'encoding': {'x': {'field': 'a', 'type': 'nominal'},
'y': {'field': 'b', 'type': 'quantitative'}},
'$schema': 'https://vega.github.io/schema/vega-lite/v5.2.0.json',
'datasets': {'data-c2a3e89ba9d5d1687d5e8c28d630a033': [{'a': 'A', 'b': 28},
{'a': 'B', 'b': 55},
{'a': 'C', 'b': 43},
{'a': 'D', 'b': 91},
{'a': 'E', 'b': 81},
{'a': 'F', 'b': 53},
{'a': 'G', 'b': 19},
{'a': 'H', 'b': 87},
{'a': 'I', 'b': 52}]}}