用户:MilkyDefer/QR
概览
从理论上,下述代码可以改造成支持点阵图输出:
<graph>{
"name": "QR Code",
"height": 300,
"width": 300,
"padding": "0",
"marks": [
{
"type": "symbol",
"properties": {
"enter": {
"shape": { "value": "square" },
"fill": { "field": "g", "scale": "c" },
"x": { "field": "cx" },
"y": { "field": "cy" },
"size": { "field": "cs" }
}
},
"from": {
"data": "content",
"transform": [
{
"field": "cx",
"type": "formula",
"expr": "300 / datum.s * datum.x"
},
{
"field": "cy",
"type": "formula",
"expr": "300 / datum.s * datum.y"
},
{
"field": "cs",
"type": "formula",
"expr": "(300 / datum.s) * (300 / datum.s)"
}
]
}
}
],
"scales": [
{
"name": "c",
"type": "ordinal",
"domain": [0,1],
"range": [
"#FFFFFF",
"#000000"
]
}
],
"data": [
{
"name": "content",
"values": [
{"s": 2, "x": 0, "y": 0, "g": 1},
{"s": 2, "x": 0, "y": 1, "g": 0},
{"s": 2, "x": 1, "y": 0, "g": 0},
{"s": 2, "x": 1, "y": 1, "g": 1}
]
}
]
}</graph>
效果如下:
由于已知的技术原因,图表暂时不可用。带来不便,我们深表歉意。 |
优点
相比于现有的利用表格配CSS绘制点阵图的方法而言,使用Graph插件最大的优点便是,这是一张图。右键点击是可以保存的。
缺点
浏览器需要更高的支持(HTML5 Canvas)、展开后的代码可能更长、Graph插件可能存在bug。