婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python 繪制斜率圖進行對比分析

python 繪制斜率圖進行對比分析

熱門標簽:如何在地圖標注文字 百應ai電銷機器人鄭州 西藏快速地圖標注地點 ai地圖標注 廈門crm外呼系統(tǒng)如何 地圖標注推廣單頁 女王谷地圖標注 長春人工智能電銷機器人官網(wǎng) n400電話申請多少錢

你好,我是林驥。

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

比如說,為了對比分析某產(chǎn)品不同功能的用戶滿意度,經(jīng)過問卷調查和數(shù)據(jù)統(tǒng)計,得到下面這個調查結果:

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

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

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

下面是用 matplotlib 畫圖的詳細步驟。

首先,導入所需的庫,并設置中文字體和定義顏色等。

# 導入所需的庫
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.image as image

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

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

# 正常顯示負號
mpl.rcParams['axes.unicode_minus'] = False

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

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

# 數(shù)據(jù)源路徑
filepath='./data/問卷調查結果.xlsx'

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

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

接下來,開始用「面向對象」的方法進行畫圖。

# 使用「面向對象」的方法畫圖,定義圖片的大小
fig, ax=plt.subplots(figsize=(6, 6))

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

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

# 定義顏色
category_colors = [c['淺灰色'], c['淺灰色'], c['橙色'], c['藍色'], c['藍色']]

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

  # 設置數(shù)據(jù)標簽及其文字顏色
  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)

# 設置 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)

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

plt.show()

運行之后,便得到上面那張圖。

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

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

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

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

斜率圖的劣勢,是看不出整體與部分的占比關系。另外,如果類別的順序很重要,那么也不適合使用斜率圖,因為類別會根據(jù)數(shù)值大小自動進行排列。

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

當你不知道該選擇什么類型的圖表時,不妨停下來想一想,你希望讓觀眾了解什么或者做什么?

以上就是python 繪制斜率圖進行對比分析的詳細內容,更多關于python 對比分析的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • 看看如何用Python繪制小米新版天價logo
  • Python繪制分類圖的方法
  • 用Python的繪圖庫(matplotlib)繪制小波能量譜
  • python opencv常用圖形繪制方法(線段、矩形、圓形、橢圓、文本)
  • 通過python讀取txt文件和繪制柱形圖的實現(xiàn)代碼
  • python爬取股票最新數(shù)據(jù)并用excel繪制樹狀圖的示例
  • python繪制漢諾塔
  • 用python 繪制莖葉圖和復合餅圖
  • 教你怎么用python繪制dotplot

標簽:廊坊 內江 渭南 亳州 黔東 拉薩 興安盟 綿陽

巨人網(wǎng)絡通訊聲明:本文標題《python 繪制斜率圖進行對比分析》,本文關鍵詞  python,繪制,斜率,圖,進行,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python 繪制斜率圖進行對比分析》相關的同類信息!
  • 本頁收集關于python 繪制斜率圖進行對比分析的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 晋宁县| 雅江县| 多伦县| 九寨沟县| 英超| 瑞昌市| 中江县| 长垣县| 临澧县| 青田县| 泽普县| 镇平县| 江城| 隆安县| 凌云县| 宁蒗| 察雅县| 辛集市| 黑龙江省| 定安县| 辉县市| 左云县| 昂仁县| 九台市| 长治县| 株洲市| 贵德县| 江永县| 会泽县| 全州县| 澳门| 漾濞| 云和县| 浦江县| 辉南县| 那坡县| 水城县| 陆川县| 新闻| 兴宁市| 尚义县|