Canvas适用于位图,也就是给了你一张白板,需要你自己来画点。Canvas技术可以绘制比较复杂的动画。不过它是HTML5自带的,所以低版本浏览器不支持Canvas。ECharts这个可视化组件就是基于Canvas实现的。SVG的中文是可缩放矢量图形,它是使用XML格式来定义图形的。相当于用点和线来描绘了图形,相比于位图来说文件比较小,而且任意缩放都不会失真。SVG经常用于图标和图表上。它最大的特点就是支持大部分浏览器,动态交互性实现起来也很方便,比如在SVG中插入动画元素等。**WebGL是一种3D绘图协议,**能在网页浏览器中呈现3D画面技术,并且可以和用户进行交互。你在网页上看到的很多酷炫的3D效果,基本上都是用WebGL来渲染的。下面介绍的Three.js就是基于WebGL框架的。
N=1000x=np.random.randn(N)y=np.random.randn(N)
plt.scatter(x,y,marker='x')plt.show()
df=pd.DataFrame({'x':x,'y':y})sns.jointplot(x="x",y="y",data=df,kind='scatter');plt.show()`
x=[2010,2011,2012,2013,2014,2015,2016,2017,2018,2019]y=[5,3,6,20,17,16,19,30,32,35]
plt.plot(x,y)plt.show()
df=pd.DataFrame({'x':x,'y':y})sns.lineplot(x="x",y="y",data=df)plt.show()`
a=np.random.randn(100)s=pd.Series(a)
plt.hist(s)plt.show()
sns.distplot(s,kde=False)plt.show()sns.distplot(s,kde=True)plt.show()`
x=['Cat1','Cat2','Cat3','Cat4','Cat5']y=[5,4,8,12,7]
plt.bar(x,y)plt.show()
sns.barplot(x,y)plt.show()`
data=np.random.normal(size=(10,4))labels=['A','B','C','D']
plt.boxplot(data,labels=labels)plt.show()
df=pd.DataFrame(data,columns=labels)sns.boxplot(data=df)plt.show()`
nums=[25,37,33,37,6]labels=['High-school','Bachelor','Master','Ph.d','Others']
plt.pie(x=nums,labels=labels)plt.show()`
flights=sns.load_dataset("flights")data=flights.pivot('year','month','passengers')
sns.heatmap(data)plt.show()`
labels=np.array([u"推进","KDA",u"生存",u"团战",u"发育",u"输出"])stats=[83,61,95,67,76,88]
angles=np.linspace(0,2*np.pi,len(labels),endpoint=False)stats=np.concatenate((stats,[stats[0]]))angles=np.concatenate((angles,[angles[0]]))
fig=plt.figure()ax=fig.add_subplot(111,polar=True)ax.plot(angles,stats,'o-',linewidth=2)ax.fill(angles,stats,alpha=0.25)
font=FontProperties(fname=r"C:\Windows\Fonts\simhei.ttf",size=14)ax.set_thetagrids(angles*180/np.pi,labels,FontProperties=font)plt.show()`
tips=sns.load_dataset("tips")print(tips.head(10))
sns.jointplot(x="total_bill",y="tip",data=tips,kind='scatter')sns.jointplot(x="total_bill",y="tip",data=tips,kind='kde')sns.jointplot(x="total_bill",y="tip",data=tips,kind='hex')plt.show()`