我们可以在Altair中绘制图像数据吗?

时间:2020-02-01 16:43:41

标签: python imshow altair

我正在尝试在altair中绘制图像数据,特别是试图在Jake VDP的书https://jakevdp.github.io/PythonDataScienceHandbook/05.07-support-vector-machines.html的此链接中复制人脸识别示例。

有人运气在altair中绘制图像数据吗?

1 个答案:

答案 0 :(得分:16)

Altair具有image mark,如果您要绘制URL上可用的图像,可以使用enter image description here。例如:

CREATE FUNCTION dbo.CheckInstanceCapacity (@event_id int, @capacity int)
RETURNS int
AS 
BEGIN
  DECLARE @value int
    SELECT @value = CASE WHEN CAPACITY >= @capacity THEN 0 ELSE 1 END
    FROM INSTANCE
    WHERE EVENT_ID = @event_id 
  RETURN @value
END;

ALTER TABLE RESERVATION ADD CONSTRAINT InsCapacity 
CHECK (dbo.CheckInstanceCapacity(EVENT_ID, RESERVATION_ORDER) = 0); 

flatten transforms

Altair不太适合像图像一样显示二维数据数组,因为语法主要设计用于结构化表格数据。但是,可以结合使用window transformsenter image description here

以下是使用链接到页面的数据的示例:

import altair as alt
import pandas as pd

source = pd.DataFrame.from_records([
      {"x": 0.5, "y": 0.5, "img": "https://vega.github.io/vega-datasets/data/ffox.png"},
      {"x": 1.5, "y": 1.5, "img": "https://vega.github.io/vega-datasets/data/gimp.png"},
      {"x": 2.5, "y": 2.5, "img": "https://vega.github.io/vega-datasets/data/7zip.png"}
])

alt.Chart(source).mark_image(
    width=50,
    height=50
).encode(
    x='x',
    y='y',
    url='img'
)

https://www.php.net/manual/en/function.fputcsv.php