问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

数据可视化新世界!8+种图形代码与效果图一次全解锁!

创作时间:
作者:
@小白创作中心

数据可视化新世界!8+种图形代码与效果图一次全解锁!

引用
CSDN
1.
https://m.blog.csdn.net/2403_86854718/article/details/144082050

数据可视化是数据分析中非常重要的一环,它能够帮助我们更直观地理解数据。本文将介绍9种常用的数据可视化图形,包括折线图、条形图、堆叠条形图、饼图、散点图、热力图、箱线图、雷达图和气泡图。每种图形都配有详细的Python代码示例和运行效果图,帮助读者快速掌握这些图形的实现方法。

1. 折线图(Line Plot):动态趋势的必备神器

适用场景:展示时间序列趋势或数据随时间的变化。

import matplotlib.pyplot as plt  
x = ['2020', '2021', '2022', '2023', '2024']  
y = [50, 75, 90, 120, 150]  
plt.figure(figsize=(8, 5))  
plt.plot(x, y, marker='o', linestyle='--', color='teal', linewidth=2)  
plt.title('Yearly Growth', fontsize=14)  
plt.xlabel('Year', fontsize=12)  
plt.ylabel('Value', fontsize=12)  
plt.grid(True, alpha=0.3)  
plt.show()  

2. 条形图(Bar Plot):对比利器

适用场景:展示类别间数据对比。

import matplotlib.pyplot as plt  
categories = ['A', 'B', 'C', 'D']  
values = [120, 300, 180, 260]  
plt.figure(figsize=(8, 5))  
plt.bar(categories, values, color=['skyblue', 'lightgreen', 'salmon', 'gold'], edgecolor='black')  
plt.title('Category Comparison', fontsize=14)  
plt.xlabel('Category', fontsize=12)  
plt.ylabel('Values', fontsize=12)  
plt.show()  

3. 堆叠条形图(Stacked Bar Plot):层次分明

适用场景:展示不同组的累积数据。

import matplotlib.pyplot as plt  
categories = ['A', 'B', 'C']  
group1 = [50, 30, 70]  
group2 = [30, 40, 50]  
plt.figure(figsize=(8, 5))  
plt.bar(categories, group1, label='Group 1', color='steelblue')  
plt.bar(categories, group2, bottom=group1, label='Group 2', color='orange')  
plt.title('Stacked Bar Chart', fontsize=14)  
plt.legend()  
plt.show()  

4. 饼图(Pie Chart):一眼看出比例

适用场景:展示各部分占比,突出重点。

import matplotlib.pyplot as plt  
labels = ['A', 'B', 'C', 'D']  
sizes = [15, 30, 45, 10]  
explode = (0, 0.1, 0, 0)  # 突出显示第二块  
plt.figure(figsize=(6, 6))  
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', startangle=90, colors=['#ff9999','#66b3ff','#99ff99','#ffcc99'])  
plt.title('Proportion Analysis', fontsize=14)  
plt.show()  

5. 散点图(Scatter Plot):揭示数据分布与相关性

适用场景:分析两个变量间的关系。

import matplotlib.pyplot as plt  
import numpy as np  
x = np.random.rand(50)  
y = np.random.rand(50)  
plt.figure(figsize=(7, 5))  
plt.scatter(x, y, c=y, cmap='viridis', s=80, edgecolors='k', alpha=0.7)  
plt.colorbar(label='Value Intensity')  
plt.title('Scatter Plot Example', fontsize=14)  
plt.xlabel('X Variable')  
plt.ylabel('Y Variable')  
plt.show()  

6. 热力图(Heatmap):全局趋势的最佳选择

适用场景:分析矩阵或二维数据。

import seaborn as sns  
import numpy as np  
import matplotlib.pyplot as plt  
data = np.random.rand(10, 12)  
plt.figure(figsize=(10, 6))  
sns.heatmap(data, annot=False, cmap='coolwarm', linewidths=0.5)  
plt.title('Heatmap Example', fontsize=14)  
plt.show()  

7. 箱线图(Box Plot):数据分布与异常值

适用场景:分析数据的分布与离散情况。

import seaborn as sns  
import matplotlib.pyplot as plt  
import numpy as np  
data = np.random.randn(100, 4)  
labels = ['A', 'B', 'C', 'D']  
plt.figure(figsize=(8, 5))  
sns.boxplot(data=data, palette="Set3")  
plt.xticks(range(4), labels)  
plt.title('Boxplot Analysis', fontsize=14)  
plt.show()  

8. 雷达图(Radar Chart):多维数据对比

适用场景:对比多个维度的表现。

import matplotlib.pyplot as plt  
import numpy as np  
labels = ['Speed', 'Reliability', 'Comfort', 'Safety', 'Efficiency']  
values = [80, 60, 70, 90, 85]  
angles = np.linspace(0, 2 * np.pi, len(labels), endpoint=False).tolist()  
values += values[:1]  
angles += angles[:1]  
plt.figure(figsize=(6, 6))  
ax = plt.subplot(111, polar=True)  
ax.fill(angles, values, color='blue', alpha=0.3)  
ax.plot(angles, values, color='blue', linewidth=2)  
ax.set_yticks([])  
ax.set_xticks(angles[:-1])  
ax.set_xticklabels(labels, fontsize=12)  
plt.title('Radar Chart Example', fontsize=14)  
plt.show()  

9. 气泡图(Bubble Chart):美观的多维展示

适用场景:展示三维数据,包含大小信息。

import matplotlib.pyplot as plt  
import numpy as np  
x = np.random.rand(50)  
y = np.random.rand(50)  
size = np.random.rand(50) * 1000  
plt.figure(figsize=(8, 6))  
plt.scatter(x, y, s=size, c=size, cmap='viridis', alpha=0.6, edgecolors='w', linewidth=0.5)  
plt.colorbar(label='Size Intensity')  
plt.title('Bubble Chart Example', fontsize=14)  
plt.xlabel('X Axis')  
plt.ylabel('Y Axis')  
plt.show()  

小结:用可视化讲好数据故事

可视化不仅仅是画图,更是让数据“说话”的艺术!掌握这些高级图形,让你的分析结果既高效传达又赏心悦目!🔥

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号