pythonmatplotlib使用教程,matplotlib源码

  pythonmatplotlib使用教程,matplotlib源码

  背景

  桑吉图作为一种表达数据流方向的可视化方法,广泛应用于商业数据分析、地理可视化和生物医学领域。比如在基因组学领域,有研究用桑吉图来表达生物分子之间的调控关系。

  目前大部分三吉图软件包(如plotly等。)大多调用d3.js,允许一些交互操作,但是安装使用设置参数不方便。

  Matplotlib是python中最流行的可视化库,它提供了大量的操作接口。它画出来的图可以达到文章发表的水平,美观程度不亚于ggplot2。但是matplotlib并没有提供一些高级的绘图函数接口,用户需要非常熟悉matplotlib才能绘制出高度定制化的图纸。

  一些高级的封装库,比如Seaborn,封装了matplotlib,有助于降低用户使用和绘制高级图片的难度,允许用户后期调用matplotlib api自由修改。但是seaborn还是没有画出Sanjitu。

  因此,我基于matplotlib开发了一个简单的桑树图绘制程序pysankey2,可以绘制多层桑树图,并且允许用户自由设置一些参数。熟悉matplotlib也可以后期修图。

  下面介绍如何使用pysankey2绘制桑吉图。

  固定

  下载完成后,打开操作系统的命令行界面,cd到存放压缩包的目录,然后使用pip完成安装:

  cd路径/到/你的/目录

  pip安装pysankey2-0.1.0.zip

  用3行代码画出2层桑吉图。

  我们根据内置数据集快速绘制:

  从pysankey2.datasets导入load_fruits

  df=load_fruits()

  df.head()

  image.png

  如您所见,内置数据集的每一行都代表一个连接对。如果有几个连接对,则只有几条线。其实这也是pysankey2的输入要求。

  将matplotlib.pyplot作为plt导入

  进口熊猫作为pd

  从pysankey2导入sankey

  ## colorMode=global 表示设置框的颜色全局一致。

  # #例:橙色无论在哪个楼层都使用相同的颜色。

  sky=Sankey(df,colorMode=global )

  fig,ax=sky.plot()

  image.png

  当然字体好像有点小,颜色也不太好看。让我们做一个微调,将颜色改为Paste1配色方案,并使用stripColor=left 将山治条的颜色设置为与左侧方框的颜色相同,同时将字体调高一点:

  将matplotlib.pyplot作为plt导入

  进口熊猫作为pd

  从pysankey2.datasets导入load_fruits

  从pysankey2.utils导入setColorConf

  从pysankey2导入sankey

  df=load_fruits()

  fruits=list(set(df.layer1)。union(set(df.layer2)))

  #指定了颜色。

  #在这里,我们使用“彩色1”色图(一个害羞但新鲜的调色板:)。

  #查看matplotlib cmap了解更多色彩映射表:

  # https://matplotlib.org/3.1.0/tutorials/colors/colormaps.html

  colors=setColorConf(len(fruits),colors= Pastel1 )

  cls_map=dict(zip(水果,颜色))

  # set stripColor=left

  sky=Sankey(df,colorDict=cls_map,colorMode=global ,stripColor=left )

  #设置更大的字体

  fig,ax=sky . plot(text _ kws={ size :20 })

  image.png

  是不是好多了~总共只有6行代码。

  画一个三层桑吉图。

  df=load _ countrys()

  sky _ auto _ global _ colors=Sankey(df,colorMode=global )

  fig,ax=sky _ auto _ global _ colors . plot(text _ kws={ size :15 })

  效果如下:

  image.png

  其他参数

  如果您有任何问题,您可以直接在github页面上提问或通过电子邮件联系szjshuffle@foxmail.com。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: