自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

超強,18 個必會的可視化技術(shù)

大數(shù)據(jù) 數(shù)據(jù)可視化
氣泡圖與散點圖類似,但使用不同的氣泡大小來表示附加維度。氣泡圖添加了一個視覺維度,可以根據(jù)銷售量和比例來比較產(chǎn)品。

大家好,我是小寒。

今天給大家分享 18 個必會的數(shù)據(jù)可視化技術(shù)。

首先,我們使用如下代碼生成一個示例數(shù)據(jù)集。

import pandas as pd
import numpy as np

# Generate sample data
np.random.seed(0)
dates = pd.date_range(start='2023-01-01', end='2023-12-31', freq='D')
products = ['Product A', 'Product B', 'Product C']
sales = pd.DataFrame({
    'Date': np.random.choice(dates, 300),
    'Product': np.random.choice(products, 300),
    'Sales': np.random.randint(100, 1000, size=300)
})

1.折線圖

折線圖適合可視化隨時間變化的趨勢。

import matplotlib.pyplot as plt

# Data preprocessing
sales_by_date = sales.groupby('Date')['Sales'].sum()

# Visualization
plt.figure(figsize=(10, 6))
plt.plot(sales_by_date.index, sales_by_date.values, marker='o', linestyle='-')
plt.title('Sales Trend Over Time')
plt.xlabel('Date')
plt.ylabel('Sales')
plt.grid(True)
plt.show()

圖片圖片

2.條形圖

條形圖非常適合比較分類數(shù)據(jù)。

sales_by_product = sales.groupby('Product')['Sales'].sum()

# Visualization
plt.figure(figsize=(10, 6))
sales_by_product.plot(kind='bar', color='skyblue')
plt.title('Total Sales by Product')
plt.xlabel('Product')
plt.ylabel('Sales')
plt.xticks(rotatinotallow=45)
plt.grid(axis='y')
plt.show()

圖片圖片

3.散點圖

散點圖對于可視化兩個變量之間的關(guān)系非常有效。

import seaborn as sns

# Data preprocessing
sales_by_product = sales.groupby('Product')['Sales'].sum().reset_index()

# Visualization
plt.figure(figsize=(10, 6))
sns.scatterplot(data=sales, x='Date', y='Sales', hue='Product')
plt.title('Sales Scatter Plot Over Time')
plt.xlabel('Date')
plt.ylabel('Sales')
plt.legend(title='Product')
plt.grid(True)
plt.show()

4.餅圖

餅圖對于顯示整體的比例很有用。

# Data preprocessing
sales_by_product = sales.groupby('Product')['Sales'].sum()

# Visualization
plt.figure(figsize=(8, 8))
plt.pie(sales_by_product, labels=sales_by_product.index, autopct='%1.1f%%', startangle=140)
plt.title('Sales Distribution by Product')
plt.axis('equal')
plt.show()

5.直方圖

直方圖有助于理解數(shù)值數(shù)據(jù)的分布。

# Data preprocessing
sales_per_day = sales.groupby('Date')['Sales'].sum()

# Visualization
plt.figure(figsize=(10, 6))
plt.hist(sales_per_day, bins=20, color='lightblue', edgecolor='black')
plt.title('Distribution of Daily Sales')
plt.xlabel('Sales')
plt.ylabel('Frequency')
plt.grid(True)
plt.show()

圖片圖片

6.箱線圖

箱線圖對于顯示數(shù)據(jù)分布和識別異常值非常有用。

# Visualization
plt.figure(figsize=(10, 6))
sns.boxplot(data=sales, x='Product', y='Sales')
plt.title('Sales Distribution by Product')
plt.xlabel('Product')
plt.ylabel('Sales')
plt.grid(True)
plt.show()

7.熱圖

熱圖可以揭示密集數(shù)據(jù)集中的模式和相關(guān)性。

# Data preprocessing
sales_pivot = sales.pivot_table(index='Date', columns='Product', values='Sales', aggfunc='sum')

# Visualization
plt.figure(figsize=(10, 8))
sns.heatmap(sales_pivot, cmap='Blues')
plt.title('Sales Heatmap by Date and Product')
plt.xlabel('Product')
plt.ylabel('Date')
plt.show()

8.氣泡圖

氣泡圖與散點圖類似,但使用不同的氣泡大小來表示附加維度。氣泡圖添加了一個視覺維度,可以根據(jù)銷售量和比例來比較產(chǎn)品。

# Data preprocessing
sales_by_product = sales.groupby('Product')['Sales'].sum()
product_sizes = sales_by_product / sales_by_product.max() * 100  # Scale for bubble sizes

# Visualization
plt.figure(figsize=(10, 6))
plt.scatter(sales_by_product.index, sales_by_product.values, s=product_sizes, alpha=0.5)
plt.title('Sales by Product (Bubble Chart)')
plt.xlabel('Product')
plt.ylabel('Sales')
plt.grid(True)
plt.show()

9.樹狀圖

樹狀圖非常適合使用嵌套矩形顯示分層數(shù)據(jù)。

import squarify  

# Data preprocessing
sales_by_product = sales.groupby('Product')['Sales'].sum()

# Visualization
plt.figure(figsize=(10, 8))
squarify.plot(sizes=sales_by_product, label=sales_by_product.index, alpha=0.8)
plt.title('Sales Distribution by Product (Treemap)')
plt.axis('off')
plt.show()

圖片圖片

10.?;鶊D

?;鶊D顯示節(jié)點之間的數(shù)據(jù)或資源流。

from matplotlib.sankey import Sankey

# Data preprocessing
product_sales = sales.groupby('Product')['Sales'].sum()
product_sales_diff = product_sales.diff().fillna(0)

# Visualization
plt.figure(figsize=(10, 8))
sankey = Sankey(flows=product_sales_diff.values, labels=product_sales_diff.index)
sankey.finish()
plt.title('Sales Flow Between Products (Sankey Diagram)')
plt.show()

11.小提琴圖

小提琴圖結(jié)合了箱線圖和核密度圖的特征,可以更豐富地理解數(shù)據(jù)的分布。

plt.figure(figsize=(10, 6))
sns.violinplot(data=sales, x='Product', y='Sales')
plt.title('Sales Distribution by Product (Violin Plot)')
plt.xlabel('Product')
plt.ylabel('Sales')
plt.grid(True)
plt.show()

12.雷達(dá)圖

雷達(dá)圖可用于比較不同類別的多個定量變量。

sales_by_product = sales.groupby('Product')['Sales'].sum()
max_sales = sales_by_product.max()

# Visualization
labels=np.array(sales_by_product.index)
stats=sales_by_product.values

angles=np.linspace(0, 2*np.pi, len(labels), endpoint=False).tolist()

fig, ax = plt.subplots(figsize=(10, 6), subplot_kw=dict(polar=True))
ax.fill(angles, stats, color='skyblue', alpha=0.25)
ax.plot(angles, stats, color='blue', linewidth=2)
ax.set_yticklabels([])
plt.title('Sales Comparison by Product (Radar Chart)')
ax.set_xticks(angles)
ax.set_xticklabels(labels)
plt.show()

圖片圖片

13.詞云

詞云是一種視覺上吸引人的方式來表示文本數(shù)據(jù),其中每個單詞的大小表示其頻率。

from wordcloud import WordCloud

# Data preprocessing (assuming there is a text column in the sales dataset)
text_data = ' '.join(sales['Product'])

# Visualization
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(text_data)

plt.figure(figsize=(10, 6))
plt.imshow(wordcloud, interpolatinotallow='bilinear')
plt.title('Word Cloud of Products')
plt.axis('off')
plt.show()

14.平行坐標(biāo)圖

平行坐標(biāo)圖對于可視化多變量數(shù)據(jù)非常有用,特別是對于比較不同類別的變量時。

from pandas.plotting import parallel_coordinates

# Assuming there are multiple numerical columns in the sales dataset
# and 'Product' is a categorical variable
plt.figure(figsize=(10, 6))
parallel_coordinates(sales, 'Product', colormap='viridis')
plt.title('Parallel Coordinates Plot of Sales Variables by Product')
plt.xlabel('Variables')
plt.ylabel('Values')
plt.xticks(rotatinotallow=45)
plt.show()

15.六邊形圖

六邊形圖可用于通過將數(shù)據(jù)分箱到六邊形箱中來可視化大型數(shù)據(jù)集的分布。

plt.figure(figsize=(10, 6))
plt.hexbin(range(len(sales)), sales['Sales'], gridsize=20, cmap='Blues')
plt.colorbar(label='count in bin')
plt.title('Hexbin Plot of Sales Over Time')
plt.xlabel('Time')
plt.ylabel('Sales')
plt.show()

16.極坐標(biāo)圖

極坐標(biāo)圖對于可視化循環(huán)數(shù)據(jù)非常有用,例如周期性趨勢或方向數(shù)據(jù)。

plt.figure(figsize=(10, 8))
plt.subplot(111, polar=True)
theta = np.linspace(0, 2*np.pi, len(sales))
r = sales['Sales']
plt.plot(theta, r)
plt.title('Polar Plot of Sales Over Time')
plt.show()

17.KDE 圖

KDE 圖估計連續(xù)變量的概率密度函數(shù),提供對數(shù)據(jù)基本分布的洞察。

plt.figure(figsize=(10, 6))
sns.kdeplot(data=sales, x='Sales', shade=True, color='skyblue')
plt.title('Kernel Density Estimation (KDE) Plot of Sales')
plt.xlabel('Sales')
plt.ylabel('Density')
plt.grid(True)
plt.show()

18. 配對圖

配對圖可視化數(shù)據(jù)集中多個變量之間的成對關(guān)系。

plt.figure(figsize=(10, 8))
sns.pairplot(sales)
plt.suptitle('Pairwise Relationships Between Variables')
plt.show()
責(zé)任編輯:武曉燕 來源: 程序員學(xué)長
相關(guān)推薦

2024-01-29 13:02:00

數(shù)據(jù)可視化庫數(shù)組

2018-02-04 22:22:46

大數(shù)據(jù)開發(fā)工具

2021-06-09 11:26:37

BokehPython可視化

2017-02-23 09:42:53

大數(shù)據(jù)數(shù)據(jù)可視化技術(shù)誤區(qū)

2019-12-18 14:40:09

數(shù)據(jù)可視化后端技術(shù)Python

2020-03-11 14:39:26

數(shù)據(jù)可視化地圖可視化地理信息

2020-12-22 14:14:25

大數(shù)據(jù)數(shù)據(jù)可視化

2017-07-18 15:15:57

數(shù)據(jù)可視化細(xì)節(jié)層次分析

2017-07-13 09:21:05

大數(shù)據(jù)數(shù)據(jù)可視化

2024-08-20 18:16:49

數(shù)據(jù)可視化Python

2020-09-28 15:13:11

數(shù)據(jù)可視化技術(shù)工具

2015-11-11 14:26:31

數(shù)據(jù)可視化術(shù)語

2017-02-20 20:25:00

數(shù)據(jù)可視化報表工具可視化

2017-10-14 13:54:26

數(shù)據(jù)可視化數(shù)據(jù)信息可視化

2022-08-26 09:15:58

Python可視化plotly

2009-04-21 14:26:41

可視化監(jiān)控IT管理摩卡

2016-07-29 13:22:09

2020-07-27 07:37:43

Python開發(fā)工具

2017-06-19 08:30:35

大數(shù)據(jù)數(shù)據(jù)可視化報表

2025-02-10 00:45:00

pairplotheatmaplmplot
點贊
收藏

51CTO技術(shù)棧公眾號