欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 繪制斜率圖進(jìn)行對(duì)比分析

 更新時(shí)間:2021年03月19日 11:05:27   作者:代碼醫(yī)生工作室  
這篇文章主要介紹了python 繪制斜率圖進(jìn)行對(duì)比分析的實(shí)例,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下

你好,我是林驥。

斜率圖,可以快速展現(xiàn)兩組數(shù)據(jù)之間各維度的變化,特別適合用于對(duì)比兩個(gè)時(shí)間點(diǎn)的數(shù)據(jù)。

比如說(shuō),為了對(duì)比分析某產(chǎn)品不同功能的用戶滿意度,經(jīng)過(guò)問(wèn)卷調(diào)查和數(shù)據(jù)統(tǒng)計(jì),得到下面這個(gè)調(diào)查結(jié)果:

你不妨自己先思考一下,如何對(duì)這組數(shù)據(jù)進(jìn)行可視化,才能讓信息傳遞變得更加高效?

下面是我用 matplotlib 制作的圖表:

從圖中可以直觀地看出,功能 C 的用戶滿意度明顯下降,我們用比較鮮明的橙色來(lái)表示,以便引起觀眾重點(diǎn)關(guān)注;功能 D 和功能 E 的用戶滿意度明顯提升,我們用藍(lán)色表示,代表數(shù)據(jù)正在向好的方向發(fā)展;功能 A 和功能 B 的用戶滿意度變化不大,我們用淺灰色表示,以便削弱觀眾對(duì)這兩個(gè)功能的注意力,把更多的精力用于分析用戶滿意度明顯下降的功能點(diǎn),從而讓圖表起到提升信息傳遞效率的目的。

下面是用 matplotlib 畫圖的詳細(xì)步驟。

首先,導(dǎo)入所需的庫(kù),并設(shè)置中文字體和定義顏色等。

# 導(dǎo)入所需的庫(kù)
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.image as image

# 正常顯示中文標(biāo)簽
mpl.rcParams['font.sans-serif'] = ['SimHei']

# 自動(dòng)適應(yīng)布局
mpl.rcParams.update({'figure.autolayout': True})

# 正常顯示負(fù)號(hào)
mpl.rcParams['axes.unicode_minus'] = False

# 定義顏色,主色:藍(lán)色,輔助色:灰色,互補(bǔ)色:橙色
c = {'藍(lán)色':'#00589F', '深藍(lán)色':'#003867', '淺藍(lán)色':'#5D9BCF',
   '灰色':'#999999', '深灰色':'#666666', '淺灰色':'#CCCCCC',
   '橙色':'#F68F00', '深橙色':'#A05D00', '淺橙色':'#FBC171'}

其次,從 Excel 文件中讀取隨機(jī)模擬的數(shù)據(jù),并定義畫圖用的數(shù)據(jù)。

# 數(shù)據(jù)源路徑
filepath='./data/問(wèn)卷調(diào)查結(jié)果.xlsx'

# 讀取 Excel文件
df = pd.read_excel(filepath, index_col='調(diào)查年度')

# 定義畫圖用的數(shù)據(jù)
category_names = df.columns
labels = df.index
data = df.values
data_cum = data.cumsum(axis=1)

接下來(lái),開(kāi)始用「面向?qū)ο蟆沟姆椒ㄟM(jìn)行畫圖。

# 使用「面向?qū)ο蟆沟姆椒ó媹D,定義圖片的大小
fig, ax=plt.subplots(figsize=(6, 6))

# 設(shè)置背景顏色
fig.set_facecolor('w')
ax.set_facecolor('w')

# 設(shè)置標(biāo)題
ax.set_title('\n用戶滿意度隨時(shí)間的變化\n', fontsize=26, loc='left', color=c['深灰色'])

# 定義顏色
category_colors = [c['淺灰色'], c['淺灰色'], c['橙色'], c['藍(lán)色'], c['藍(lán)色']]

# 畫斜率圖
for i, color in zip(np.arange(len(df.columns)), category_colors):
  ax.plot(df.index, df.iloc[:, i], marker='o', color=color)

  # 設(shè)置數(shù)據(jù)標(biāo)簽及其文字顏色
  ax.text(-0.03, df.iloc[0, i], df.columns[i] + ' ' + '{:.0%}'.format(df.iloc[0, i]), ha='right', va='center', color=color, fontsize=16)
  ax.text(1.06, df.iloc[1, i], '{:.0%}'.format(df.iloc[1, i]), ha='left', va='center', color=color, fontsize=16)

# 設(shè)置 Y 軸刻度范圍
ax.set_ylim(df.values.min()-0.02, df.values.max()+0.01)

# 隱藏 Y 軸
ax.yaxis.set_visible(False)

# 隱藏邊框
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.spines['bottom'].set_visible(False)

# 隱藏 X 軸的刻度線
ax.tick_params(axis='x', which='major', length=0)

# 設(shè)置坐標(biāo)標(biāo)簽字體大小和顏色
ax.tick_params(labelsize=16, colors=c['灰色'])

plt.show()

運(yùn)行之后,便得到上面那張圖。

你可以前往 https://github.com/linjiwx/mp 下載畫圖用的數(shù)據(jù)和完整代碼。

對(duì)于同一組數(shù)據(jù),不同的人可能會(huì)有不同的觀察視角,對(duì)它們進(jìn)行可視化,往往也存在多種不同的解決方案,這里介紹的方法,并不是唯一正確的答案。關(guān)鍵在于,圖表的設(shè)計(jì)者想要表達(dá)什么信息?是否讓觀眾正確且快速地理解了想要表達(dá)的信息?

不同類型的圖表,有著不同的優(yōu)勢(shì)和劣勢(shì)。

斜率圖的優(yōu)勢(shì),是能快速看到每個(gè)類別前后發(fā)生的變化,并能根據(jù)線條的陡峭程度,直觀地感受到變化的幅度。

斜率圖的劣勢(shì),是看不出整體與部分的占比關(guān)系。另外,如果類別的順序很重要,那么也不適合使用斜率圖,因?yàn)轭悇e會(huì)根據(jù)數(shù)值大小自動(dòng)進(jìn)行排列。

最后,留給你一道思考題:在你看到過(guò)的各種數(shù)據(jù)中,有哪些數(shù)據(jù)是適合用斜率圖進(jìn)行對(duì)比分析的?

當(dāng)你不知道該選擇什么類型的圖表時(shí),不妨停下來(lái)想一想,你希望讓觀眾了解什么或者做什么?

以上就是python 繪制斜率圖進(jìn)行對(duì)比分析的詳細(xì)內(nèi)容,更多關(guān)于python 對(duì)比分析的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python字典遍歷操作實(shí)例小結(jié)

    Python字典遍歷操作實(shí)例小結(jié)

    這篇文章主要介紹了Python字典遍歷操作,結(jié)合實(shí)例形式總結(jié)分析了Python遍歷字典鍵值對(duì)、遍歷鍵、遍歷值等相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • 分析并輸出Python代碼依賴的庫(kù)的實(shí)現(xiàn)代碼

    分析并輸出Python代碼依賴的庫(kù)的實(shí)現(xiàn)代碼

    這篇文章主要介紹了分析并輸出Python代碼依賴的庫(kù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-08-08
  • python for循環(huán)內(nèi)輸出和外輸出方式

    python for循環(huán)內(nèi)輸出和外輸出方式

    這篇文章主要介紹了python for循環(huán)內(nèi)輸出和外輸出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Python接口測(cè)試文件上傳實(shí)例解析

    Python接口測(cè)試文件上傳實(shí)例解析

    這篇文章主要介紹了Python接口測(cè)試文件上傳實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 一文學(xué)會(huì)VSCode使用python

    一文學(xué)會(huì)VSCode使用python

    Pycharm用著卡還收費(fèi)!何不試試VSCode!一文學(xué)會(huì)VSCode使用python,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-08-08
  • Pycharm連接遠(yuǎn)程服務(wù)器并遠(yuǎn)程調(diào)試的全過(guò)程

    Pycharm連接遠(yuǎn)程服務(wù)器并遠(yuǎn)程調(diào)試的全過(guò)程

    PyCharm 是 JetBrains 開(kāi)發(fā)的一款 Python 跨平臺(tái)編輯器,下面這篇文章主要介紹了Pycharm連接遠(yuǎn)程服務(wù)器并遠(yuǎn)程調(diào)試的全過(guò)程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2021-06-06
  • python把轉(zhuǎn)列表為集合的方法

    python把轉(zhuǎn)列表為集合的方法

    在本篇文章里小編給大家分享了關(guān)于python把轉(zhuǎn)列表為集合的方法以及相關(guān)實(shí)例內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-06-06
  • 一篇文章帶你了解python異?;A(chǔ)

    一篇文章帶你了解python異?;A(chǔ)

    今天小編就為大家分享一篇關(guān)于Python中的異常介紹,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2021-08-08
  • pytorch如何獲得模型的計(jì)算量和參數(shù)量

    pytorch如何獲得模型的計(jì)算量和參數(shù)量

    這篇文章主要介紹了pytorch如何獲得模型的計(jì)算量和參數(shù)量操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • PYcharm 激活方法(推薦)

    PYcharm 激活方法(推薦)

    這篇文章主要介紹了PYcharm 激活方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03

最新評(píng)論