不多说,先画一张再说.还是上文的环境.直接pip install,xxxxx,记得换源
右下角有一个上面export,一点就这样了.花里胡哨的云端环境.
代码语言:javascript复制import cufflinks as cf
cf.go_offline()
import numpy as np
import pandas as pd
set_slippage_avg_cost = [22.01, 20.98, 17.11, 9.06, 9.4, 3.65, 19.65, 7.01, 11.21, 10.3, 5.1, 23.98, 12.03, 8.13, 8.07, 9.28, 3.93, 4.23, 18.6, 8.22, 7.85, 5.39, 29.4, 43.96, 6.12, 15.03, 2.68, 14.25, 7.9, 2.22, 15.74, 8.83, 8.18, 7.21, 30.38,25.46, 8.53, 8.05, 11.04, 24.95, 5.19, 6.8, 8.19, 5.44, 21.05, 7.06, 6.67, 18.61, 5.44, 2.9]
no_slippage_avg_cost = [22.04,21.01,17.13,9.07,9.41,3.65,19.67,7.02,11.22,10.31,5.11,24.01,12.04,8.14,8.08,9.29,3.93,4.24,18.62,8.23,7.86,5.4,29.44,44.01,6.13,15.05,2.68,14.27,7.91,2.22, 15.76, 8.84, 8.19, 7.22, 30.42, 25.49, 8.54, 8.06, 11.05, 24.98, 5.2, 6.81, 8.2, 5.45, 21.08, 7.07, 6.68,18.63,5.45,2.9]
diff = (np.array(no_slippage_avg_cost) - np.array(set_slippage_avg_cost)) / np.array(set_slippage_avg_cost)
pd.Series(diff).iplot(kind='histogram', bins=100, title='(np.array(no_slippage_avg_cost) - np.array(set_slippage_avg_cost)) / np.array(set_slippage_avg_cost)')
cufflinks介绍
就像seaborn封装了matplotlib一样,cufflinks在plotly的基础上做了一进一步的包装,方法统一,参数配置简单。其次它还可以结合pandas的dataframe随意灵活地画图。可以把它形容为"pandas like visualization"。
毫不夸张地说,画出各种炫酷的可视化图形,我只需一行代码,效率非常高,同时也降低了使用的门槛儿。cufflinks的github链接如下:
代码语言:javascript复制https://github.com/santosjorge/cufflinks
导入库,没有上面数据.生成一些
lines线图
1)cufflinks使用datagen生成随机数; 2)figure定义为lines形式,数据为(1,500); 3)然后再用ta_plot绘制这一组时间序列,参数设置SMA展现三个不同周期的时序分析。
可以看到,x轴每个box都有对应的名称,这是因为cufflinks通过kind参数识别了box图形,自动为它生成的名字。如果我们只生成随机数,它是这样子的,默认生成100行的随机分布的数据,列数由自己选定。
我喜欢粉色,就放个粉色的看看
histogram直方图
histogram条形图
上面我们生成了一个(10,4)的dataframe数据框,名称分别是a,b,c,d。那么cufflinks将会根据iplot中的kind种类自动识别并绘制图形。参数设置为堆叠模式。
散点图
气泡图
scatter matrix 散点矩阵图
子图
如果我们想在lines图上增加一些直线作为参考基准,这时候我们可以使用hlines的类型图。
鼠标放上来会动.
代码语言:javascript复制import pandas as pd
import cufflinks as cf
import numpy as np
cf.set_config_file(offline=True)
df=cf.datagen.bubble(10,50,mode='stocks')
figs=cf.figures(df,[dict(kind='histogram',keys='x',color='blue'),
dict(kind='scatter',mode='markers',x='x',y='y',size=5),
dict(kind='scatter',mode='markers',x='x',y='y',size=5,color='teal')],asList=True)
figs.append(cf.datagen.lines(1).figure(bestfit=True,colors=['blue'],bestfit_colors=['pink']))
base_layout=cf.tools.get_base_layout(figs)
sp=cf.subplots(figs,shape=(3,2),base_layout=base_layout,vertical_spacing=.15,horizontal_spacing=.03,
specs=[[{'rowspan':2},{}],[None,{}],[{'colspan':2},None]],
subplot_titles=['Histogram','Scatter 1','Scatter 2','Bestfit Line'])
sp['layout'].update(showlegend=False)
cf.iplot(sp)
df.iplot(hspan=[(-1,1),(2,5)])
此时这个里面最复杂的图~
耍不明白没有关系,自己看看help,练了英语,学了知识~
据说数据分析师,火的一笔???是真的???