Python 高级绘图:探索数据可视化
在 Python 中,我们可以使用多种库来进行绘图,实现数据可视化。以下将介绍一些高级的绘图技巧和代码实现:
-
使用
matplotlib
库进行高级绘图
matplotlib
是一个广泛使用的绘图库,提供了丰富的绘图功能。import matplotlib.pyplot as plt import numpy as np # 生成示例数据 x = np.linspace(0, 2 * np.pi, 100) y = np.sin(x) # 绘制折线图 plt.plot(x, y, label='Sin Curve') plt.xlabel('X') plt.ylabel('Y') plt.title('Sine Wave') plt.legend() plt.show()
-
使用
seaborn
库创建美观的图表
seaborn
是基于 matplotlib
的一个高级绘图库,提供了更具吸引力的默认样式。import seaborn as sns import pandas as pd # 生成示例数据 data = {'X': np.random.randn(100), 'Y': np.random.randn(100)} df = pd.DataFrame(data) # 绘制散点图 sns.scatterplot(data=df, x='X', y='Y') plt.title('Scatter Plot') plt.show()
-
绘制 3D 图形
使用
matplotlib
的 mplot3d
子库可以绘制 3D 图形。from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np # 生成示例数据 x = np.linspace(-2, 2, 100) y = np.linspace(-2, 2, 100) X, Y = np.meshgrid(x, y) Z = np.sin(np.sqrt(X ** 2 + Y ** 2)) # 绘制 3D 曲面图 fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.plot_surface(X, Y, Z) plt.title('3D Surface Plot') plt.show()
-
绘制动态图形通过结合
matplotlib
和numpy
,可以实现动态图形的绘制。
import matplotlib.pyplot as plt import numpy as np import time # 初始化图形 plt.ion() # 开启交互模式 fig, ax = plt.subplots() # 模拟数据更新 for i in range(100): x = np.linspace(0, 2 * np.pi, 100) y = np.sin(x + i * 0.1) ax.clear() # 清除之前的图形 ax.plot(x, y) plt.draw() # 重新绘制图形 plt.pause(0.1) # 暂停一段时间
本文转自:https://www.wodianping.com/app/2024-10/45961.html