大家好!
明天来讲一下如何用一行代码在 DataFrame
数据集当中生成炫酷的动静交互式的图表,咱们先来介绍一下这次须要用到的模块cufflinks
模块的装置
波及到装置,间接 pip install
即可
pip install cufflinks
导入模块,并查看相干的配置
咱们导入该模块,看一下目前的版本是在多少
cf.__version__
output
'0.17.3'
目前该模块的版本曾经到了0.17.3
,也是最新的版本,而后咱们最新版本反对能够绘制的图表有哪些
cf.help()
output
Use 'cufflinks.help(figure)' to see the list of available parameters for the given figure.
Use 'DataFrame.iplot(kind=figure)' to plot the respective figure
Figures:
bar
box
bubble
bubble3d
candle
choroplet
distplot
.......
从下面的输入咱们能够看到,绘制图表大抵的语法是 df.iplot(kind= 图表名称)
而如何咱们想要查看某个特定图表绘制时候的参数,例如柱状图 bar
参数有哪些,能够这么做
cf.help('bar')
柱状图
咱们先来看一下直方图图表的绘制,首先来创立一个数据集用于图表的绘制
df2 = pd.DataFrame({'Category':['A','B','C','D'],
'Values':[95,56,70,85]})
df2
output
Category Values
0 A 95
1 B 56
2 C 70
3 D 85
而后咱们来绘制直方图
df2.iplot(kind='bar',x='Category',y='Values',
xTitle = "Category",yTitle = "Values",
title = "直方图")
output
其中的 x
参数下面填的是 x
轴下面对应的变量名,而 y
参数填的是 y
轴下面对应的变量名,咱们能够将绘制的图表以 png
的格局下载下来,
同时咱们也还能够对绘制的图表放大查看,
咱们再来看一下上面这组数据
df = pd.DataFrame(np.random.randn(100,4),columns='A B C D'.split())
df.head()
output
A B C D
0 0.612403 -0.029236 -0.595502 0.027722
1 1.167609 1.528045 -0.498168 -0.221060
2 -1.338883 -0.732692 0.935410 0.338740
3 1.662209 0.269750 -1.026117 -0.858472
4 1.387077 -0.839192 -0.562382 -0.989672
咱们来绘制直方图的图表
df.head(10).iplot('bar')
output
咱们也能够来绘制“重叠式”的直方图
df.head(10).iplot(kind='bar',barmode='stack')
output
那么同样地,咱们也能够将直方图横过去来绘制
df.head(10).iplot(kind='barh',barmode='stack')
output
折线图
上面咱们来看一下折线图的绘制,咱们首先针对下面的 df
数据集各列做一个累加
df3 = df.cumsum()
而后咱们来绘制折线图
df3.iplot()
output
当然你也能够筛选出当中的几列而后来进行绘制,成果如下
df3[["A", "B"]].iplot()
output
咱们也能够给折线图画一条拟合其走势的直线,
df3['A'].iplot(bestfit = True,bestfit_colors=['pink'])
output
这里咱们着重来介绍一个 iplot()
办法外面罕用的参数
kind
: 图表类型,默认的是scatter
,散点类型,可供选择的类型还有 bar(直方图)、box(箱型图)、heatmap(热力求) 等等theme
: 布局主题,能够通过cf.getThemes()
来查看次要有哪些title
: 图表的题目xTitle/yTitle
: x 或者 y 轴下面的轴名colors
: 绘制图表时候的色彩subplots
: 布尔值,绘制子图时候须要用到,默认为False
mode
:字符串
,绘图的模式,能够有lines
、markers
,也还有lines+markers
和lines+text
等模式size
: 针对于散点图而言,次要用来调整散点的大小shape
: 在绘制子图时候各个图的布局bargap
: 直方图当中柱子之间的间隔barmode
: 直方图的状态,stack(重叠式)、group(簇状)、overlay(笼罩)
面积图
从折线图到面积图的转变十分的简略,只须要将参数 fill
设置为 True
即可,代码如下
df3.iplot(fill = True)
output