乐趣区

关于pandas:精选3种张炫酷的动态交互式图表Pandas一键生成通俗易懂

大家好!

明天来讲一下如何用一行代码在 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字符串 ,绘图的模式,能够有linesmarkers,也还有lines+markerslines+text等模式
  • size: 针对于散点图而言,次要用来调整散点的大小
  • shape: 在绘制子图时候各个图的布局
  • bargap: 直方图当中柱子之间的间隔
  • barmode : 直方图的状态,stack(重叠式)、group(簇状)、overlay(笼罩)

面积图

从折线图到面积图的转变十分的简略,只须要将参数 fill 设置为 True 即可,代码如下

df3.iplot(fill = True)

output

退出移动版