趋势(二)利用python绘制面积图

趋势(二)利用python绘制面积图

面积图( Area Chart)简介

1

面积图是折线图的一种,通过颜色或纹理填充线下面的区域,可以更好的突出趋势信息。

快速绘制

  1. 基于matplotlib

    import matplotlib.pyplot as plt
    import numpy as np
    
    # 自定义数据
    x=range(1,6)
    y=[1,4,6,8,4]
    
    # 绘制面积图
    plt.fill_between(x, y)
    plt.show()
    

    2

    定制多样化的面积图

    自定义面积图一般是结合使用场景对相关参数进行修改,并辅以其他的绘图知识。参数信息可以通过官网进行查看,其他的绘图知识则更多来源于实战经验,大家不妨将接下来的绘图作为一种学习经验,以便于日后总结。

    matplotlib主要利用plot绘制面积图,可以通过matplotlib.pyplot.plot了解更多用法

    1. 修改参数

      import numpy as np
      import matplotlib.pyplot as plt
       
      # 自定义数据
      x=range(1,15)
      y=[1,4,6,8,4,5,3,2,4,1,5,6,8,7]
       
      # 修改颜色、透明度
      plt.fill_between( x, y, color="skyblue", alpha=0.2)
      
      # 绘制一条高亮的线
      plt.plot(x, y, color="Slateblue", alpha=0.6)
      
      plt.show()
      

      3

    2. 分组面积图

      import numpy as np
      import seaborn as sns
      import pandas as pd
      import matplotlib.pyplot as plt
       
      # 自定义数据
      my_count=["France","Australia","Japan","USA","Germany","Congo","China",
                    "England","Spain","Greece","Marocco","South Africa","Indonesia","Peru","Chili","Brazil"]
      df = pd.DataFrame({
      "country":np.repeat(my_count, 10),
      "years":list(range(2000, 2010)) * 16,
      "value":np.random.rand(160)
      })
       
      # 利用sns创建网格
      g = sns.FacetGrid(df, col='country', hue='country', col_wrap=4, )
      
      # 绘制折线图
      g = g.map(plt.plot, 'years', 'value')
       
      # 填充区域
      g = g.map(plt.fill_between, 'years', 'value', alpha=0.2).set_titles("{col_name} country")
       
      # 自定义子标题
      g = g.set_titles("{col_name}")
       
      # 添加标题
      plt.subplots_adjust(top=0.92)
      g = g.fig.suptitle('Evolution of the value of stuff in 16 countries')
      
      plt.show()
      

      4

总结

以上通过matplotlib快速绘制面积图。并通过修改参数或者辅以其他绘图知识自定义各种各样的面积图来适应相关使用场景。

共勉~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值