前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >精选3种张炫酷的动态交互式图表,Pandas一键生成,通俗易懂

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

原创
作者头像
陈晨135
发布2021-12-30 09:43:42
5330
发布2021-12-30 09:43:42
举报
文章被收录于专栏:Python小课堂

大家好!

今天来讲一下如何用一行代码在DataFrame数据集当中生成炫酷的动态交互式的图表,我们先来介绍一下这次需要用到的模块cufflinks

模块的安装

涉及到安装,直接pip install即可

代码语言:javascript
复制
pip install cufflinks

导入模块,并查看相关的配置

我们导入该模块,看一下目前的版本是在多少

代码语言:javascript
复制
cf.__version__

output

代码语言:javascript
复制
'0.17.3'

目前该模块的版本已经到了0.17.3,也是最新的版本,然后我们最新版本支持可以绘制的图表有哪些

代码语言:javascript
复制
cf.help()

output

代码语言:javascript
复制
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参数有哪些,可以这么做

代码语言:javascript
复制
cf.help('bar')

柱状图

我们先来看一下直方图图表的绘制,首先来创建一个数据集用于图表的绘制

代码语言:javascript
复制
df2 = pd.DataFrame({'Category':['A','B','C','D'],
                    'Values':[95,56,70,85]})
df2

output

代码语言:javascript
复制
  Category  Values
0        A      95
1        B      56
2        C      70
3        D      85

然后我们来绘制直方图

代码语言:javascript
复制
df2.iplot(kind='bar',x='Category',y='Values',
          xTitle = "Category",yTitle = "Values",
          title = "直方图")

output

图片
图片

其中的x参数上面填的是x轴上面对应的变量名,而y参数填的是y轴上面对应的变量名,我们可以将绘制的图表以png的格式下载下来,

图片
图片

同时我们也还可以对绘制的图表放大查看,

图片
图片

我们再来看一下下面这组数据

代码语言:javascript
复制
df = pd.DataFrame(np.random.randn(100,4),columns='A B C D'.split())
df.head()

output

代码语言:javascript
复制
          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

我们来绘制直方图的图表

代码语言:javascript
复制
df.head(10).iplot('bar')

output

图片
图片

我们也可以来绘制“堆叠式”的直方图

代码语言:javascript
复制
df.head(10).iplot(kind='bar',barmode='stack')

output

图片
图片

那么同样地,我们也可以将直方图横过来来绘制

代码语言:javascript
复制
df.head(10).iplot(kind='barh',barmode='stack')

output

图片
图片

折线图

下面我们来看一下折线图的绘制,我们首先针对上面的df数据集各列做一个累加

代码语言:javascript
复制
df3 = df.cumsum()

然后我们来绘制折线图

代码语言:javascript
复制
df3.iplot()

output

图片
图片

当然你也可以筛选出当中的几列然后来进行绘制,效果如下

代码语言:javascript
复制
df3[["A", "B"]].iplot()

output

图片
图片

我们也可以给折线图画一条拟合其走势的直线,

代码语言:javascript
复制
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即可,代码如下

代码语言:javascript
复制
df3.iplot(fill = True)

output

图片
图片

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 模块的安装
  • 导入模块,并查看相关的配置
  • 柱状图
  • 折线图
  • 面积图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档