做爲一個對UI
和動畫敏感的切圖仔,在平常開發之餘,也會關注一些賊好看的圖表庫和插件。html
接下來,我將給你們介紹幾款web/python/vue/react
裏漂亮得不行的開源庫/實現。前端
roughViz.js
基於D3(v5)
, roughjs
, 和handy
。vue
有三種衡量方式:python
粗糙度: react
線條種類: git
線條粗細: github
簡答CDN
:web
<script src="https://unpkg.com/rough-viz@1.0.5"></script>
複製代碼
npm
:spring
npm install rough-viz
複製代碼
react/vue
:npm
npm install react-roughviz
npm install vue-roughviz
複製代碼
甚至在Python
中也能夠:
pip install roughviz
複製代碼
首先定義兩個div
<div id="vis0"></div>
<div id="vis1"></div>
複製代碼
以後new
兩個實例:
new roughViz.BarH(
{
element: '#vis0',
title: "Vehicles I've Had",
titleFontSize: '1.5rem',
legend: false,
margin: {top: 50, bottom: 100, left: 160, right: 0},
data: {
labels: ['1992 Ford Aerostar Van', '2013 Kia Rio', '1980 Honda CB 125s', '1992 Toyota Tercel'],
values: [8, 4, 6, 2]
},
xLabel: 'Time Owned (Years)',
strokeWidth: 2,
fillStyle: 'zigzag-line',
highlight: 'gold',
}
);
new roughViz.BarH(
{
element: '#vis1',
titleFontSize: '1.5rem',
data: 'https://raw.githubusercontent.com/jwilber/random_data/master/owTanks.csv'
color: 'tan',
labels: 'name',
values: 'health',
title: "Overwatch Tank Health",
roughness: 4,
}
);
複製代碼
整個的配置很是簡潔,其中:
data
: 數據源,支持簡單對象或csv
格式的文件roughness
: 線條粗糙混亂層級。若是調成10,就會變成這樣:
線上體驗demo
: blockbuilder.org/jwilber/419…
具體用法請參照官方文檔:github.com/jwilber/rou…
react-three-fiber
Web
和react-native
均可用的高性能Threejs for react
庫。
能夠在React
外部驅動渲染循環,而不會產生額外開銷。
最新版本採用了Hooks
的寫法,不像以往強行兼容的Threejs
,寫起來更加友好。
不止抖音字體爆炸特效,它能實現什麼,源於你的技術和想象力。
如下一部分特效:
若是有人學會了...大佬帶帶?
抖音爆炸特效的實現:其中用到一個庫:react-spring
,這是react
最優秀的動畫庫,沒有之一。
字體爆炸:codesandbox.io/s/y3j31r13z…
Mini Music Player - VueJS
國外友人寫的一個Vue.js
音樂播放器,好看的不得了。
其中的交互和邏輯,也是很是精煉。
UI
都誇好的卡片驗證庫:interactive-paycard
這個11月Vue
新庫一發布,就狂攬3k+
star,過於優秀。
完整庫名vue-interactive-paycard
React
版的做者表示也即將發佈了。
SandDance
微軟出品,必屬精品
SandDance
是使用Vega
進行圖表佈局,使用Deck.gl
進行WebGL
渲染。
能在如此密集的數據量上保持動畫流暢和美觀的,也就微軟爸爸能作到了。
我先跪了,大家隨意。
此外,該庫還有多種使用方式:
Power BI
軟件內使用:
PowerBI
是微軟發佈的一款數據可視化軟件,能夠在較短期內生成各類報表。
VSCode
插件形式:
React
:
AR
: AR.js
+Three.js
+Autodesk 3D
這是個頗有意思的實現,大體流程是:
AR.js
程序開始ARToolKit
識別到圖片標記A-Frame.js
開始調用Three.js
渲染3D模型首先咱們先到 https://sketchfab.com
下載本身喜歡的3D模型
下載glTF
格式(A
框架提供glTF
,OBJ
兩個格式官網建議使用glTF
)
index.html
並把這些代碼都貼上<script src="https://aframe.io/releases/0.9.0/aframe.min.js"></script>
<script src="https://rawgit.com/jeromeetienne/ar.js/master/aframe/build/aframe-ar.js"></script>
<script>THREEx.ArToolkitContext.baseURL = 'https://rawgit.com/jeromeetienne/ar.js/master/three.js/'</script>
<body style='margin : 0px; overflow: hidden;'>
<a-scene embedded arjs='sourceType: webcam; debugUIEnabled: false;'>
<a-marker type='pattern' url='res/pattern-marker.patt'>
<a-entity position='-3 2 0' text="width: 5; value:I am Psyduck. We are pokemon. We love you"></a-entity>
<a-entity position='0 0 0' gltf-model="url(res/scene.gltf)"></a-entity>
</a-marker>
</a-scene>
</body>
複製代碼
A-frame
的html
標籤添加一個a-scene
攝像頭並把AR.js
崁入Marker
若是標記的Marker
出如今攝像頭裏就會執行下方的事情3D
模型原文:AR用AR.js作一個讓另對方 喔喔喔喔! 的小卡片吧!
請欣賞一個價值2199刀的模型
還有超讚的《這個殺手不太冷》女孩模型
這也太好看了吧。
想體驗AR.js
的能夠放大下面這圖,而後用相機掃一掃。
本來想湊齊十個再發的,但找了很久,都沒什麼開源庫能入我法眼。
懇請你們,推薦幾款騷得不行的開源庫,我來補充補充,謝謝喇。
若是你以爲這篇內容對你挺有啓發,我想邀請你幫我三個小忙:
也能夠來個人GitHub
博客裏拿全部文章的源文件:
前端勸退指南:github.com/roger-hiro/… 一塊兒玩耍呀。~