python筆記31:數據分析之矩陣分析

溫馨提示

  • 這裏會涉及到數據可視化,大家對它一眼帶過即可,關於數據可視化的內容,後續筆記會做更詳細的記錄
  • 你可以下載下面例子中的csv文件,然後把源代碼拷貝到您的python編輯器,修改csv文件的路徑,即可運行程序
# -*- coding: utf-8 -*-
#1.概念:矩陣分析,是指根據事物(如產品,服務等)的兩個重要屬性(指標)作爲分析的依據,進行關聯分析,找出解決
#問題的一種分析方法。
#矩陣分析法在解決問題和資源分配時,爲決策者提供重要的參考依據,先解決主要矛盾,再解決次要矛盾,有利於提高工作效率,有
#利於決策者進行資源的優化配置。


#如何使用python進行矩陣分析:

import pandas
import matplotlib
import matplotlib.pyplot as plt

#使用RGB的方式定義好主題顏色:
mainColor = (42/256, 87/256, 141/256, 1);

#設置字體:在畫圖的時候使用中文字體(畢竟python是外國人開發的語言,默認使用的不是中文,所以當我們需要在圖形中展示中文的時候,就需要設置爲中文字體)
font = {
        'family':'SimHei',
        'size':20
        }
matplotlib.rc('font',**font);

#準備工作完成,開始導入數據:
data = pandas.read_csv("D:/workspaces/python/pythonStudy/31.csv") #第一列爲省份,第二列爲GDP,第三列爲人口,下載地址鏈接:https://pan.baidu.com/s/1lokm0U-_UOOd0dM8cxWiOg 提取碼:acaa 


#配置圖形格式:
fig = plt.figure(
                 figsize=(30,20), #尺寸設置(如果數據點比較多,可以調大這個尺寸,方便展示所有的數據)
                 dpi=80
                 )

#添加子圖對象
sp = fig.add_subplot(111) #111含義:我們要把圖形分爲一行一列,並且當前要操作第一個子圖的意思

#設置座標軸的範圍:將軸最大值設置爲實際最大值的1.1倍,這樣以來數值在圖上就不會顯示的太靠邊
sp.set_xlim([
             0,
             data.GDP.max()*1.1
             ])
sp.set_ylim([
             0,
             data.population.max()*1.1
             ])

#關閉座標軸、座標軸的刻度值(因爲矩陣分析的圖不需要座標刻度)
sp.get_xaxis().set_ticks([])
sp.get_yaxis().set_ticks([])

#圖形設置完成,可以開始畫點:
sp.scatter(
           data.GDP, #GDP作爲橫軸
           data.population, #population作爲縱軸
           alpha=0.5,s=200,marker='o', #點的形狀
           edgecolors=mainColor, #點的顏色
           linewidths=5    #點的大小       
           )
#畫均值線:
sp.axvline(
           x = data.GDP.mean(),
            linewidth=1,color=mainColor
           )
sp.axhline(
           y = data.population.mean(),
            linewidth=1,color=mainColor
           )
#加深橫軸和縱軸的線
sp.axvline(
           x = 0,
           linewidth=3,color=mainColor
           )
sp.axhline(
           y = 0,
           linewidth=3,color=mainColor
           )
#設置橫軸和縱軸的標籤
sp.set_xlabel('GDP')
sp.set_ylabel('人口')

#畫標籤(把省名標註在圖上)
data.apply(
           lambda row: plt.text(
                row.GDP,
                row.population,
                row.province,
                fontsize=15
            ),
            axis=1
)
          
plt.show()   

      

運行結果截圖
程序運行結果

  • 通過圖可以看到,廣東、山東、江蘇人口多,GDP也高,而西藏、青海、寧夏則比較弱勢

  • 如果對上面的畫圖代碼不是很理解,沒關係,後面的章節會專門介紹各種圖形的實現方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章