zoukankan      html  css  js  c++  java
  • 第五章:matplotlib水印和桑基图

    1、Matplotlib水印

     1 import matplotlib.pyplot as plt
     2 import numpy as np
     3 
     4 x = np.linspace(0.0,10,40)
     5 y = np.random.randn(40)
     6 
     7 plt.plot(x,                 # X轴数据
     8          y,                 # Y轴数据
     9          ls="-",            # 线条样式
    10          lw=2,              # 线条宽度
    11          marker="o",        # x轴Y轴对应数据点的样式
    12          ms=20,             # 数据点的大小
    13          mfc="orange",      # 数据点填充颜色
    14          alpha=0.6)         # 数据点的透明度
    15 plt.grid(ls=":",            # 网格样式(虚线)
    16          color="gray",      # 网格颜色
    17          alpha=0.5)         # 网格透明度
    18 plt.text(x=1,               # 水印开头左下角对应的X点
    19          y=2,               # 水印开头左下角对应的Y点
    20          s="Matplotlib",    # 水印文本
    21          fontsize=50,       # 水印大小
    22          color="gray",      # 水印颜色
    23          alpha=0.5)         # 水印是通过透明度控制的
    24 plt.show()

     2、桑基图

     1 import  matplotlib
     2 import  matplotlib.pyplot as plt
     3 from matplotlib.sankey import Sankey
     4 
     5 # 显示中文标识
     6 matplotlib.rcParams["font.sans-serif"] = ["SimHei"]
     7 matplotlib.rcParams["axes.unicode_minus"] = False
     8 
     9 # 消费收入与支出数据
    10 flows = [0.2,0.1,0.4,0.3,-0.6,-0.05,-0.15,-0.2]
    11 
    12 # 数据标签来源
    13 labels = ["卖白菜","卖萝卜","卖肉","卖烟","买鞋","买衣服","买苹果","买书"]
    14 
    15 # 1表示流量显示在上方,0表示流量显示在水平位置,-1表示流量显示在下方
    16 orientations = [1,1,0,-1,1,-1,1,0]
    17 
    18 # 通过Sankey创建一个基本的桑基图对象
    19 sankey = Sankey()
    20 
    21 # 为桑基图添加绘制数据
    22 sankey.add(flows=flows,                 # 收入支出数据
    23            labels=labels,               # 数据标签
    24            orientations=orientations,   # 每个数据显示在上方或者下方或者水平
    25            color="r",                   # 桑基图边缘线条颜色
    26            fc="lightgreen",             # 桑基图填充颜色
    27            patchlabel="生活消费",        # 桑基图标题
    28            alpha=0.7)                   # 桑基图透明度
    29 
    30 # 桑基图基本绘制完成对象
    31 diagrams = sankey.finish()
    32 diagrams[0].texts[4].set_color("r")     # 数据标签来源下标为4设置为红色
    33 diagrams[0].texts[4].set_weight("bold") # 数据标签来源下标为4字体设置加粗
    34 diagrams[0].text.set_fontsize(20)       # 生活消费的字号大小
    35 diagrams[0].text.set_fontweight("bold") # 生活消费字体加粗
    36 
    37 plt.title("日常生活中的开支流量图")
    38 plt.show()

  • 相关阅读:
    Apriori算法--关联规则挖掘
    分布式系统阅读笔记(十九)-----移动计算和无处不在的计算
    分布式系统阅读笔记(十九)-----移动计算和无处不在的计算
    分布式系统阅读笔记(十九)-----移动计算和无处不在的计算
    分布式系统阅读笔记(二十)-----分布式多媒体系统
    分布式系统阅读笔记(二十)-----分布式多媒体系统
    分布式系统阅读笔记(二十)-----分布式多媒体系统
    FP-Tree频繁模式树算法
    hdu Load Balancing
    hdu 3348 coins
  • 原文地址:https://www.cnblogs.com/zhaco/p/11559898.html
Copyright © 2011-2022 走看看