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