Python數據分析之Matplotlib數據可視化實例


Matplotlib數據可視化的應用實例 分析 :2000至2017年各季度國民生產總值數據 在這里插入圖片描述 npy文件——numpy專用的二進制格式 np.load()和np.save()是讀寫磁盤數組數據的兩個重要函數。使用時,數組會以未壓縮的原始二進制格式保存在擴展名為.npy的文件中。


分析國民生產總值:

    # -- coding:utf-8 --
  import numpy as np
  import matplotlib.pyplot as plt
   
  plt.rcParams['font.sans-serif'] = 'SimHei' # 設置中文顯示,否則可能無法顯示中文或者是各種字符錯亂
  plt.rcParams['axes.unicode_minus'] = False
  data = np.load("../data/國民經濟核算季度數據.npz", allow_pickle=True) # 加載數據 必須加上allow_pickle=True
  print(data) # 這時的data是數據對象,
  print(data['columns'])
  print(data['values'])  
  name = data['columns']
  values = data['values']
  plt.figure(figsize=(10, 10))
  plt.scatter(values[:, 0], values[:, 2], marker='o') # 畫散點圖
  plt.xlabel('年份')
  plt.ylabel('生產總值(億元)')
  plt.ylim((0, 225000))
  plt.xticks(range(0, 70, 4), values[range(0, 70, 4), 1], rotation=45) # 此時取得值都是第一季度的
  plt.title('2000-2017年季度生產總值散點圖')
  plt.savefig('../images/2000-2017年季度生產總值散點圖.png') # 圖片要先保存再顯示
  plt.show() # 在當前設備顯示圖片

在這里插入圖片描述


分析 :第一二三產業的的國民生產總值

    import numpy as np
  import matplotlib.pyplot as plt
   
  plt.rcParams['font.sans-serif'] = 'SimHei' # 設置中文顯示,否則可能無法顯示中文或者是各種字符錯亂
  plt.rcParams['axes.unicode_minus'] = False
  data = np.load("../data/國民經濟核算季度數據.npz", allow_pickle=True) # 加載數據 必須加上
  values = data['values']
  plt.figure(figsize=(10, 10))
  # 繪制的第一二三產業的增加值
  plt.scatter(values[:, 0], values[:, 3], marker='o', c='red')  
  plt.scatter(values[:, 0], values[:, 4], marker='*', c='blue')
  plt.scatter(values[:, 0], values[:, 5], marker='v', c='yellow')
  plt.xlabel('年份')
  plt.ylabel('生產總值(億元)')
  plt.xticks(range(0, 70, 4), values[range(0, 70, 4), 1], rotation=45) # 此時取得值都是第一季度的
  plt.title('2000-2017年季度生產總值散點圖')
  plt.legend(['第一產業', '第二產業', '第三產業'])
  plt.savefig('../images/2000-2017年季度生產總值散點圖.png') # 注意要先保存再show
  plt.show()

在這里插入圖片描述


分析 :利用折線圖分析第一季度

    import numpy as np
  import matplotlib.pyplot as plt
   
  plt.rcParams['font.sans-serif'] = 'SimHei' # 設置中文顯示,否則可能無法顯示中文或者是各種字符錯亂
  plt.rcParams['axes.unicode_minus'] = False
  data = np.load("../data/國民經濟核算季度數據.npz", allow_pickle=True) # 加載數據 必須加上
  values = data['values']
  plt.figure(figsize=(10, 10))
  plt.plot(values[:, 0], values[:, 2], color='k', linestyle='-')
  plt.xlabel('年份')
  plt.ylabel('生產總值(億元)')
  plt.xticks(range(0, 70, 4), values[range(0, 70, 4), 1], rotation=45) # 此時取得值都是第一季度的
  plt.title('2000-2017年季度生產總值折線圖')
  plt.savefig('../images/2000-2017年季度生產總值散點圖.png') # 注意要先保存再show
  plt.show()

在這里插入圖片描述


分析 :利用直方圖分析第一季度國民生產總值

    import numpy as np
  import matplotlib.pyplot as plt
   
  plt.rcParams['font.sans-serif'] = 'SimHei' # 設置中文顯示,否則可能無法顯示中文或者是各種字符錯亂
  plt.rcParams['axes.unicode_minus'] = False
  data = np.load("../data/國民經濟核算季度數據.npz", allow_pickle=True) # 加載數據 必須加上
  values = data['values']
  plt.figure(figsize=(10, 10))
  l = ['r', 'g', 'b']
  m = ['o', '*', 'D']
  for i in enumerate([0, 1, 2]):
      plt.bar(range(3), values[-1, 3:6], width=0.5, color=l)
  plt.xlabel('行業', fontsize=20)
  plt.ylabel('生產總值(億元)', fontsize=20)
  plt.xticks(range(3), ['第一產業', '第二產業', '第三產業'])
  plt.title('2017年第一季度國民生產總值直方圖')
  plt.savefig('../images/2000-2017年季度生產總值脂肪圖.png')
  plt.show()

在這里插入圖片描述


分析 :利用餅圖分析2017年第一季度各產業國民生產總值

    import numpy as np
  import matplotlib.pyplot as plt
   
  plt.rcParams['font.sans-serif'] = 'SimHei' # 設置中文顯示,否則可能無法顯示中文或者是各種字符錯亂
  plt.rcParams['axes.unicode_minus'] = False
  data = np.load("../data/國民經濟核算季度數據.npz", allow_pickle=True) # 加載數據 必須加上
  values = data['values']
  plt.figure(figsize=(6, 6))
  label = ['第一產業', '第二產業', '第三產業']
  explode = [0.01, 0.05, 0.03] # 設置指定項距離圓心的距離為N 倍的半徑
  plt.pie(values[-1, 3:6], explode=explode, labels=label, autopct='%.2f %%')
  plt.title('2017年第一季度各產業國民生產總值餅圖')
  plt.savefig('../images/2000-2017年季度生產總值餅圖.png')
  plt.show()

在這里插入圖片描述 分析 :利用箱線圖分析2017年第一季度各產業國民生產總值

    import numpy as np
  import matplotlib.pyplot as plt
   
  plt.rcParams['font.sans-serif'] = 'SimHei' # 設置中文顯示,否則可能無法顯示中文或者是各種字符錯亂
  plt.rcParams['axes.unicode_minus'] = False
  data = np.load("../data/國民經濟核算季度數據.npz", allow_pickle=True) # 加載數據 必須加上
  values = data['values']
  plt.figure(figsize=(6, 6))
  label = ['第一產業', '第二產業', '第三產業']
  gdp = (list(values[:, 3]), list(values[:, 4]), list(values[:, 5]))
  plt.boxplot(gdp, notch=True, labels=label, meanline=True) # 第一個參數是數據,第二個參數是是否帶有缺口,第三個參數是標簽,第四個參數是是否帶有均值線
  plt.title('2017年第一季度各產業國民生產總值箱線圖')
  plt.savefig('../images/2017年第一季度各產業國民生產總值箱線圖.png')
  plt.show()

在這里插入圖片描述


_END _

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM