引言
数据可视化是将复杂的数据转化为图形、图像或交互式界面,以便于人们理解和分析的过程。在当今信息爆炸的时代,数据可视化已成为传达信息、辅助决策的重要工具。本文将为您介绍50个数据可视化模板,帮助您轻松打造专业的展示平台。
1. 折线图模板
折线图适用于展示数据随时间变化的趋势。以下是一个简单的折线图模板:
import matplotlib.pyplot as plt
# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
# 绘制折线图
plt.plot(x, y)
plt.title('折线图示例')
plt.xlabel('时间')
plt.ylabel('数值')
plt.show()
2. 柱状图模板
柱状图适用于比较不同类别或组的数据。以下是一个简单的柱状图模板:
import matplotlib.pyplot as plt
# 数据
categories = ['类别1', '类别2', '类别3', '类别4']
values = [10, 20, 30, 40]
# 绘制柱状图
plt.bar(categories, values)
plt.title('柱状图示例')
plt.xlabel('类别')
plt.ylabel('数值')
plt.show()
3. 饼图模板
饼图适用于展示各部分占整体的比例。以下是一个简单的饼图模板:
import matplotlib.pyplot as plt
# 数据
labels = ['部分1', '部分2', '部分3']
sizes = [25, 35, 40]
# 绘制饼图
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title('饼图示例')
plt.show()
4. 散点图模板
散点图适用于展示两个变量之间的关系。以下是一个简单的散点图模板:
import matplotlib.pyplot as plt
# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
# 绘制散点图
plt.scatter(x, y)
plt.title('散点图示例')
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.show()
5. 3D散点图模板
3D散点图适用于展示三维空间中的数据关系。以下是一个简单的3D散点图模板:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
z = [2, 3, 5, 7, 11]
# 创建3D图形
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制3D散点图
ax.scatter(x, y, z)
ax.set_xlabel('X轴')
ax.set_ylabel('Y轴')
ax.set_zlabel('Z轴')
plt.title('3D散点图示例')
plt.show()
6. 热力图模板
热力图适用于展示矩阵数据。以下是一个简单的热力图模板:
import matplotlib.pyplot as plt
import numpy as np
# 数据
data = np.random.rand(10, 10)
# 绘制热力图
plt.imshow(data, cmap='hot', interpolation='nearest')
plt.colorbar()
plt.title('热力图示例')
plt.show()
7. 仪表盘模板
仪表盘适用于展示实时数据。以下是一个简单的仪表盘模板:
import matplotlib.pyplot as plt
# 数据
values = [50, 60, 70, 80, 90]
# 绘制仪表盘
plt.figure(figsize=(6, 6))
for i, value in enumerate(values):
plt.subplot(2, 2, i+1)
plt.pie([value], radius=1, wedgeprops=dict(width=0.3, edgecolor='w'))
plt.title(f'{value}%')
plt.show()
8. 地图模板
地图适用于展示地理位置数据。以下是一个简单的地图模板:
import matplotlib.pyplot as plt
import geopandas as gpd
# 加载地图数据
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
# 绘制地图
world.plot()
plt.title('地图示例')
plt.show()
9. 时间序列图模板
时间序列图适用于展示数据随时间变化的趋势。以下是一个简单的时间序列图模板:
import matplotlib.pyplot as plt
import pandas as pd
# 数据
data = pd.DataFrame({
'日期': pd.date_range(start='2020-01-01', periods=100),
'数值': np.random.randn(100)
})
# 绘制时间序列图
data.plot(x='日期', y='数值')
plt.title('时间序列图示例')
plt.show()
10. 箱线图模板
箱线图适用于展示数据的分布情况。以下是一个简单的箱线图模板:
import matplotlib.pyplot as plt
import pandas as pd
# 数据
data = pd.DataFrame({
'数值': np.random.randn(100)
})
# 绘制箱线图
data.plot(kind='box')
plt.title('箱线图示例')
plt.show()
11. 箱线图与散点图组合模板
箱线图与散点图组合适用于展示数据的分布和具体数值。以下是一个简单的组合模板:
import matplotlib.pyplot as plt
import pandas as pd
# 数据
data = pd.DataFrame({
'数值': np.random.randn(100)
})
# 绘制组合图
fig, ax = plt.subplots(1, 2, figsize=(12, 6))
data.plot(kind='box', ax=ax[0])
data.plot(kind='scatter', ax=ax[1])
plt.show()
12. 雷达图模板
雷达图适用于展示多个变量之间的关系。以下是一个简单的雷达图模板:
import matplotlib.pyplot as plt
import numpy as np
# 数据
angles = np.linspace(0, 2*np.pi, 4, endpoint=False)
values = np.random.rand(4)
# 绘制雷达图
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.plot(angles, values)
ax.fill(angles, values, alpha=0.25)
plt.title('雷达图示例')
plt.show()
13. 雷达图与散点图组合模板
雷达图与散点图组合适用于展示多个变量之间的关系和具体数值。以下是一个简单的组合模板:
import matplotlib.pyplot as plt
import numpy as np
# 数据
angles = np.linspace(0, 2*np.pi, 4, endpoint=False)
values = np.random.rand(4)
# 绘制组合图
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.plot(angles, values)
ax.fill(angles, values, alpha=0.25)
ax.scatter(angles, values)
plt.title('雷达图与散点图组合示例')
plt.show()
14. 矩阵图模板
矩阵图适用于展示矩阵数据。以下是一个简单的矩阵图模板:
import matplotlib.pyplot as plt
import numpy as np
# 数据
data = np.random.rand(10, 10)
# 绘制矩阵图
plt.imshow(data, cmap='hot', interpolation='nearest')
plt.colorbar()
plt.title('矩阵图示例')
plt.show()
15. 矩阵图与散点图组合模板
矩阵图与散点图组合适用于展示矩阵数据和具体数值。以下是一个简单的组合模板:
import matplotlib.pyplot as plt
import numpy as np
# 数据
data = np.random.rand(10, 10)
# 绘制组合图
fig, ax = plt.subplots(figsize=(6, 6))
cax = ax.matshow(data, cmap='hot', interpolation='nearest')
fig.colorbar(cax)
ax.scatter(range(data.shape[0]), range(data.shape[1]), s=50)
plt.title('矩阵图与散点图组合示例')
plt.show()
16. 雷达图与矩阵图组合模板
雷达图与矩阵图组合适用于展示多个变量之间的关系和矩阵数据。以下是一个简单的组合模板:
import matplotlib.pyplot as plt
import numpy as np
# 数据
angles = np.linspace(0, 2*np.pi, 4, endpoint=False)
values = np.random.rand(4)
data = np.random.rand(10, 10)
# 绘制组合图
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.plot(angles, values)
ax.fill(angles, values, alpha=0.25)
cax = ax.matshow(data, cmap='hot', interpolation='nearest')
fig.colorbar(cax)
plt.title('雷达图与矩阵图组合示例')
plt.show()
17. 雷达图与散点图、矩阵图组合模板
雷达图与散点图、矩阵图组合适用于展示多个变量之间的关系、具体数值和矩阵数据。以下是一个简单的组合模板:
import matplotlib.pyplot as plt
import numpy as np
# 数据
angles = np.linspace(0, 2*np.pi, 4, endpoint=False)
values = np.random.rand(4)
data = np.random.rand(10, 10)
# 绘制组合图
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.plot(angles, values)
ax.fill(angles, values, alpha=0.25)
ax.scatter(range(data.shape[0]), range(data.shape[1]), s=50)
cax = ax.matshow(data, cmap='hot', interpolation='nearest')
fig.colorbar(cax)
plt.title('雷达图与散点图、矩阵图组合示例')
plt.show()
18. 雷达图与散点图、箱线图组合模板
雷达图与散点图、箱线图组合适用于展示多个变量之间的关系、具体数值和数据的分布情况。以下是一个简单的组合模板:
import matplotlib.pyplot as plt
import numpy as np
# 数据
angles = np.linspace(0, 2*np.pi, 4, endpoint=False)
values = np.random.rand(4)
data = np.random.rand(10, 10)
# 绘制组合图
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.plot(angles, values)
ax.fill(angles, values, alpha=0.25)
ax.scatter(range(data.shape[0]), range(data.shape[1]), s=50)
ax.boxplot(data, vert=False)
plt.title('雷达图与散点图、箱线图组合示例')
plt.show()
19. 雷达图与散点图、时间序列图组合模板
雷达图与散点图、时间序列图组合适用于展示多个变量之间的关系、具体数值和数据的趋势。以下是一个简单的组合模板:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 数据
angles = np.linspace(0, 2*np.pi, 4, endpoint=False)
values = np.random.rand(4)
data = np.random.rand(10, 10)
dates = pd.date_range(start='2020-01-01', periods=10)
values = np.random.rand(10)
# 绘制组合图
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.plot(angles, values)
ax.fill(angles, values, alpha=0.25)
ax.scatter(range(data.shape[0]), range(data.shape[1]), s=50)
data.plot(x=dates, y='数值')
plt.title('雷达图与散点图、时间序列图组合示例')
plt.show()
20. 雷达图与散点图、地图组合模板
雷达图与散点图、地图组合适用于展示多个变量之间的关系、具体数值和地理位置数据。以下是一个简单的组合模板:
import matplotlib.pyplot as plt
import numpy as np
import geopandas as gpd
# 数据
angles = np.linspace(0, 2*np.pi, 4, endpoint=False)
values = np.random.rand(4)
data = np.random.rand(10, 10)
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
# 绘制组合图
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.plot(angles, values)
ax.fill(angles, values, alpha=0.25)
ax.scatter(range(data.shape[0]), range(data.shape[1]), s=50)
world.plot(ax=ax)
plt.title('雷达图与散点图、地图组合示例')
plt.show()
21. 雷达图与散点图、仪表盘组合模板
雷达图与散点图、仪表盘组合适用于展示多个变量之间的关系、具体数值和实时数据。以下是一个简单的组合模板:
import matplotlib.pyplot as plt
import numpy as np
# 数据
angles = np.linspace(0, 2*np.pi, 4, endpoint=False)
values = np.random.rand(4)
data = np.random.rand(10, 10)
# 绘制组合图
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.plot(angles, values)
ax.fill(angles, values, alpha=0.25)
ax.scatter(range(data.shape[0]), range(data.shape[1]), s=50)
for i, value in enumerate(values):
plt.subplot(2, 2, i+1)
plt.pie([value], radius=1, wedgeprops=dict(width=0.3, edgecolor='w'))
plt.title(f'{value}%')
plt.show()
22. 雷达图与散点图、时间序列图、地图组合模板
雷达图与散点图、时间序列图、地图组合适用于展示多个变量之间的关系、具体数值、数据的趋势和地理位置数据。以下是一个简单的组合模板:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import geopandas as gpd
# 数据
angles = np.linspace(0, 2*np.pi, 4, endpoint=False)
values = np.random.rand(4)
data = np.random.rand(10, 10)
dates = pd.date_range(start='2020-01-01', periods=10)
values = np.random.rand(10)
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
# 绘制组合图
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.plot(angles, values)
ax.fill(angles, values, alpha=0.25)
ax.scatter(range(data.shape[0]), range(data.shape[1]), s=50)
data.plot(x=dates, y='数值')
world.plot(ax=ax)
plt.title('雷达图与散点图、时间序列图、地图组合示例')
plt.show()
23. 雷达图与散点图、时间序列图、仪表盘组合模板
雷达图与散点图、时间序列图、仪表盘组合适用于展示多个变量之间的关系、具体数值、数据的趋势和实时数据。以下是一个简单的组合模板:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 数据
angles = np.linspace(0, 2*np.pi, 4, endpoint=False)
values = np.random.rand(4)
data = np.random.rand(10, 10)
dates = pd.date_range(start='2020-01-01', periods=10)
values = np.random.rand(10)
# 绘制组合图
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.plot(angles, values)
ax.fill(angles, values, alpha=0.25)
ax.scatter(range(data.shape[0]), range(data.shape[1]), s=50)
data.plot(x=dates, y='数值')
for i, value in enumerate(values):
plt.subplot(2, 2, i+1)
plt.pie([value], radius=1, wedgeprops=dict(width=0.3, edgecolor='w'))
plt.title(f'{value}%')
plt.show()
24. 雷达图与散点图、时间序列图、地图、仪表盘组合模板
雷达图与散点图、时间序列图、地图、仪表盘组合适用于展示多个变量之间的关系、具体数值、数据的趋势、地理位置数据和实时数据。以下是一个简单的组合模板:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import geopandas as gpd
# 数据
angles = np.linspace(0, 2*np.pi, 4, endpoint=False)
values = np.random.rand(4)
data = np.random.rand(10, 10)
dates = pd.date_range(start='2020-01-01', periods=10)
values = np.random.rand(10)
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
# 绘制组合图
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.plot(angles, values)
ax.fill(angles, values, alpha=0.25)
ax.scatter(range(data.shape[0]), range(data.shape[1]), s=50)
data.plot(x=dates, y='数值')
world.plot(ax=ax)
for i, value in enumerate(values):
plt.subplot(2, 2, i+1)
plt.pie([value], radius=1, wedgeprops=dict(width=0.3, edgecolor='w'))
plt.title(f'{value}%')
plt.show()
25. 雷达图与散点图、时间序列图、地图、仪表盘、矩阵图组合模板
雷达图与散点图、时间序列图、地图、仪表盘、矩阵图组合适用于展示多个变量之间的关系、具体数值、数据的趋势、地理位置数据、实时数据和矩阵数据。以下是一个简单的组合模板:
”`python import matplotlib.pyplot as plt import numpy as np import pandas as pd import geopandas as gpd
数据
angles = np.linspace(0, 2*np.pi, 4, endpoint=False) values = np.random.rand(4) data = np.random.rand(10, 10) dates = pd.date_range(start=‘202
