溫馨提示
- 這裏會涉及到數據可視化,大家對它一眼帶過即可,關於數據可視化的內容,後續筆記會做更詳細的記錄
- 你可以下載下面例子中的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也高,而西藏、青海、寧夏則比較弱勢
-
如果對上面的畫圖代碼不是很理解,沒關係,後面的章節會專門介紹各種圖形的實現方式。