16 数据可视化之图表类型与应用场景

在上一篇中,我们讨论了常用的数据可视化工具,了解了如何使用这些工具来制作可视化效果。接下来,我们将深入探讨不同的可视化图表类型及其各自的应用场景。这是数据分析中一个至关重要的环节,因为选择合适的图表能够有效增强数据的可读性和信息传递的效率。

一、图表类型概述

数据可视化的图表种类繁多,常用的图表类型主要包括但不限于:

  • 柱状图(Bar Chart)
  • 折线图(Line Chart)
  • 饼图(Pie Chart)
  • 散点图(Scatter Plot)
  • 面积图(Area Chart)
  • 箱线图(Box Plot)
  • 热力图(Heat Map)
  • 雷达图(Radar Chart)
  • 树图(Treemap)

下面我们详细介绍每种图表的应用场景及示例。

二、图表类型及应用场景

1. 柱状图(Bar Chart)

应用场景:适用于展示不同类别之间的对比。如:各城市的GDP、不同产品的销量等。

1
2
3
4
5
6
7
8
9
10
11
import matplotlib.pyplot as plt

# 示例数据
categories = ['A', 'B', 'C', 'D']
values = [3, 7, 2, 5]

plt.bar(categories, values)
plt.title('各类别对比')
plt.xlabel('类别')
plt.ylabel('值')
plt.show()

2. 折线图(Line Chart)

应用场景:适用于显示随时间变化的数据趋势。如:股票价格变化、气温变化等。

1
2
3
4
5
6
7
8
9
10
11
12
import matplotlib.pyplot as plt

# 示例数据
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May']
temperatures = [10, 12, 15, 20, 25]

plt.plot(months, temperatures, marker='o')
plt.title('月份与温度变化')
plt.xlabel('月份')
plt.ylabel('温度(°C)')
plt.grid()
plt.show()

3. 饼图(Pie Chart)

应用场景:适合展示各组成部分占总体的比例。常用来呈现市场份额、人口分布等。

1
2
3
4
5
6
7
8
9
import matplotlib.pyplot as plt

# 示例数据
labels = ['A', 'B', 'C']
sizes = [15, 30, 55]

plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title('各组成部分比例')
plt.show()

4. 散点图(Scatter Plot)

应用场景:用于展示两个变量之间的关系,适合数据分布分析、相关性研究等。

1
2
3
4
5
6
7
8
9
10
11
import matplotlib.pyplot as plt

# 示例数据
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

plt.scatter(x, y)
plt.title('散点图')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()

5. 面积图(Area Chart)

应用场景:适用于展示某一时段内的数据总量变化,强调总量及其构成。

1
2
3
4
5
6
7
8
9
10
11
12
import matplotlib.pyplot as plt

# 示例数据
years = [2018, 2019, 2020, 2021]
values = [100, 200, 250, 300]

plt.fill_between(years, values, color='skyblue', alpha=0.5)
plt.plot(years, values, color='Slateblue', alpha=0.6)
plt.title('年份与数据变化')
plt.xlabel('年份')
plt.ylabel('数据量')
plt.show()

6. 箱线图(Box Plot)

应用场景:用于展示数据的分布情况,特别是展示数据的中位数、四分位数及异常值。

1
2
3
4
5
6
7
8
9
10
11
12
import matplotlib.pyplot as plt
import numpy as np

# 示例数据
data = [np.random.normal(0, std, 100) for std in range(1, 4)]

plt.boxplot(data, vert=True, patch_artist=True)
plt.title('箱线图示例')
plt.xlabel('类别')
plt.ylabel('值')
plt.xticks([1, 2, 3], ['样本1', '样本2', '样本3'])
plt.show()

7. 热力图(Heat Map)

应用场景:用于展示数据的价值与位置关系,常用于显示相关性和聚类分析。

1
2
3
4
5
6
7
8
9
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

# 示例数据
data = np.random.rand(10, 12)
sns.heatmap(data)
plt.title('热力图示例')
plt.show()

8. 雷达图(Radar Chart)

应用场景:适合展示多变量数据的比较,尤其在评估性能指标时非常有效。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import matplotlib.pyplot as plt
import numpy as np

# 示例数据
categories = ['A', 'B', 'C', 'D']
values = [4, 3, 5, 2]

# 创建雷达图
angles = np.linspace(0, 2 * np.pi, len(categories), endpoint=False).tolist()
values += values[:1] # 闭合图形
angles += angles[:1]

ax = plt.subplot(111, polar=True)
ax.fill(angles, values, color='green', alpha=0.25)
ax.set_yticklabels([])
ax.set_xticks(angles[:-1])
ax.set_xticklabels(categories)
plt.title('雷达图示例')
plt.show()

9. 树图(Treemap)

应用场景:用于展示分层数据的比例,适合展示复杂层次结构,如子公司业绩、网站分类等。

1
2
3
4
5
6
7
8
9
10
import squarify
import matplotlib.pyplot as plt

# 示例数据
labels = ['A', 'B', 'C', 'D']
sizes = [30, 10, 40, 20]

squarify.plot(sizes=sizes, label=labels)
plt.title('树图示例')
plt.show()

三、总结

在选择合适的图表类型时,需要考虑所要展示的数据特征及其背后的逻辑。例如,若希望展示分类之间的对比,柱状图便是一个理想的选择;而若关注数据随时间变化的趋势,折线图将是最佳之选。

通过掌握不同图表的应用场景,您将能够更加精准地传达数据背后的故事,为后续的案例分析奠定

16 数据可视化之图表类型与应用场景

https://zglg.work/data-analysis-zero/16/

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论