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()