当前位置: 首页 > news >正文

Python数据可视化

1.Python 数据可视化全指南 🚀

数据可视化是数据分析和机器学习的关键环节,Python 提供了丰富的可视化库,如 MatplotlibSeabornPlotlyPandas 内置可视化等。以下是 Python 可视化的核心内容及最佳实践。


2. 基础可视化库

2.1 Matplotlib(基础绘图库)

Matplotlib 是 Python 最基础的绘图库,适用于静态 2D 图表,功能强大但语法较底层。

📌 常见图表

  • 折线图 (plt.plot)
  • 柱状图 (plt.bar)
  • 直方图 (plt.hist)
  • 散点图 (plt.scatter)

📌 示例

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 20, 15, 25, 30]

plt.plot(x, y, marker='o', linestyle='-', color='b', label='折线图')
plt.xlabel('X 轴')
plt.ylabel('Y 轴')
plt.title('Matplotlib 折线图示例')
plt.legend()
plt.show()

2.2 Seaborn(统计绘图)

Seaborn 基于 Matplotlib,适用于统计分析,默认提供更美观的主题风格。

📌 常见图表

  • 直方图 (sns.histplot)
  • 箱线图 (sns.boxplot)
  • 相关性热力图 (sns.heatmap)
  • 分布图 (sns.kdeplot)

📌 示例

import seaborn as sns
import matplotlib.pyplot as plt

# 生成数据
tips = sns.load_dataset('tips')

# 画出总账单与小费的关系(散点图)
sns.scatterplot(data=tips, x='total_bill', y='tip', hue='sex')
plt.title('Seaborn 散点图示例')
plt.show()

2.3 Pandas 内置可视化

Pandas 结合 Matplotlib 进行快速可视化,适用于数据分析。

📌 示例

import pandas as pd
import matplotlib.pyplot as plt

# 生成数据
df = pd.DataFrame({'A': range(1, 11), 'B': [3, 5, 7, 9, 11, 15, 17, 19, 21, 25]})
df.plot(x='A', y='B', kind='line', marker='o', title='Pandas 折线图')
plt.show()

3. 交互式可视化

3.1 Plotly(高级交互图表)

Plotly 适用于交互式数据分析,支持 2D 和 3D 图表,适合 Web 可视化。

📌 示例

import plotly.express as px

df = px.data.iris()
fig = px.scatter(df, x='sepal_width', y='sepal_length', color='species', title='Plotly 交互式散点图')
fig.show()

3.2 Bokeh(Web 端可视化)

Bokeh 适用于浏览器端可视化,交互性强。

📌 示例

from bokeh.plotting import figure, show
from bokeh.io import output_notebook

output_notebook()

p = figure(title="Bokeh 折线图", x_axis_label='x', y_axis_label='y')
p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=2)
show(p)

4. 进阶可视化

4.1 相关性热力图

import seaborn as sns
import matplotlib.pyplot as plt

df = sns.load_dataset('iris')
corr = df.corr()

plt.figure(figsize=(8,6))
sns.heatmap(corr, annot=True, cmap='coolwarm')
plt.title('相关性热力图')
plt.show()

4.2 词云

from wordcloud import WordCloud
import matplotlib.pyplot as plt

text = "Python 数据可视化 Matplotlib Seaborn Plotly Pandas Bokeh"
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(text)

plt.figure(figsize=(10,5))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()

5.3D 可视化

5.1 Matplotlib 3D 绘图

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

ax.plot_surface(X, Y, Z, cmap='viridis')

plt.title("3D 曲面图")
plt.show()

6. 地图可视化

6.1 Folium(地理地图)

import folium

# 创建地图
m = folium.Map(location=[34.0522, -118.2437], zoom_start=10)

# 添加标记
folium.Marker([34.0522, -118.2437], popup='Los Angeles', tooltip='点击查看').add_to(m)

# 显示地图
m

7.总结

适用场景交互性适用人群
Matplotlib基础绘图初学者
Seaborn统计分析数据分析师
Pandas快速可视化数据科学家
Plotly交互式可视化Web 开发者
Bokeh高级交互数据工程师
Folium地理地图GIS 开发

🎯 推荐路径

  1. 初学者:先学 MatplotlibSeaborn
  2. 数据分析:熟悉 PandasSeaborn
  3. Web 可视化:掌握 PlotlyBokeh
  4. 地理信息可视化:学习 Folium

相关文章:

  • PX4中的uavcan进程
  • python全栈-Linux基础
  • 策略模式处理
  • AI工具:deepseek+阶跃视频,生成好玩的视频
  • 教育强国建设“三年行动计划“分析
  • 如何快速上手RabbitMQ 笔记250304
  • docker-compose安装anythingLLM
  • 2000-2020年各省地方财政一般预算支出数据
  • 鸿蒙5.0实战案例:基于ArkUI的透明页面效果
  • c++中什么时候应该使用extern关键字?
  • 全栈(Java+vue)实习面试题(含答案)
  • Django项目实战
  • 基于opencv消除图片马赛克
  • 项目工坊|Python驱动淘宝信息爬虫
  • Python和PyQt5写的密码记录工具
  • 三方库总结
  • 模块11_面向对象
  • NLP如何训练AI模型以理解知识
  • C# IComparable<T> 使用详解
  • Hi3516CV610电瓶车检测 电动自行车检测 人脸检测 人形检测 车辆检测 宠物检测 包裹检测 源码
  • 闵行西安网站建设/东莞seo外包公司
  • 做网站找云无限/推广普通话宣传海报
  • 杭州建设厅官方网站/网站制作的流程
  • 广东网站建设方便/全国疫情的最新数据
  • 建站之星服务器/每天看七个广告赚40元的app
  • 做外贸的b2b网站/百度网站的网址