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

郴州市政府门户网站爱站网关键词查询系统

郴州市政府门户网站,爱站网关键词查询系统,微信小程序可视化编辑器免费,武汉百度快速排名提升No15: 数据可视化:Matplotlib 与 Seaborn 的高级用法 Matplotlib 是 Python 中最受欢迎的数据可视化软件包之一,支持跨平台运行,它是 Python 常用的 2D 绘图库,同时它也提供了一部分 3D 绘图接口。Matplotlib 通常与 NumPy、Pand…

No15: 数据可视化:Matplotlib 与 Seaborn 的高级用法

Matplotlib 是 Python 中最受欢迎的数据可视化软件包之一,支持跨平台运行,它是 Python 常用的 2D 绘图库,同时它也提供了一部分 3D 绘图接口。Matplotlib 通常与 NumPy、Pandas 一起使用,是数据分析中不可或缺的重要工具之一。Matplotlib 是 Python 中类似 MATLAB 的绘图工具,如果您熟悉 MATLAB,那么可以很快的熟悉它。Matplotlib 提供了一套面向对象绘图的 API,它可以轻松地配合 Python GUI 工具包(比如 PyQt,WxPython、Tkinter)在应用程序中嵌入图形。与此同时,它也支持以脚本的形式在 Python、IPython Shell、Jupyter Notebook 以及 Web 应用的服务器中使用

Seaborn 是基于 Python 且非常受欢迎的图形可视化库,在 Matplotlib 的基础上,进行了更高级的封装,使得作图更加方便快捷。即便是没有什么基础的人,也能通过极简的代码,做出具有分析价值而又十分美观的图形。Seaborn 可以实现 Python 环境下的绝大部分探索性分析的任务,图形化的表达帮助你对数据进行分析,而且对 Python 的其他库(比如 Numpy/Pandas/Scipy)有很好的支持。

本文将介绍Matplotlib和Seaborn的部分高级用法。


在这里插入图片描述

核心概念

1. Artist层对象控制(PathEffect应用)

通过控制Artist对象实现高级视觉效果,如路径特效:

import matplotlib.pyplot as plt
from matplotlib.patheffects import Stroke, Normaltext = plt.text(0.5, 0.5, 'PathEffect', path_effects=[Stroke(linewidth=3, foreground='red'), Normal()],fontsize=30, ha='center')
plt.show()

在这里插入图片描述

2. 多子图布局(GridSpec/SubplotSpec)

创建复杂布局:

fig = plt.figure(figsize=(10, 6))
gs = fig.add_gridspec(3, 3)
ax1 = fig.add_subplot(gs[0, :])
ax2 = fig.add_subplot(gs[1:, 0])
ax3 = fig.add_subplot(gs[1:, 1:])

在这里插入图片描述

3. Seaborn的FacetGrid参数化映射

多维度数据可视化:

import seaborn as sns
import matplotlib.pyplot as plt# 加载Seaborn内置的tips数据集
tips = sns.load_dataset('tips')# 创建FacetGrid对象,并按行(smoker)和列(time)划分子图
g = sns.FacetGrid(tips, row='smoker', col='time', margin_titles=True)# 在每个子图中绘制散点图,横轴为'total_bill',纵轴为'tip'
g.map(sns.scatterplot, 'total_bill', 'tip')# 显示图表
plt.show()

在这里插入图片描述

4. 矢量图形与栅格化混合渲染

优化复杂图表性能:

plt.rcParams['svg.fonttype'] = 'none'  # 保留矢量文本
ax.plot(x, y, rasterized=True)         # 栅格化大数据点

实战案例

地理空间数据可视化(结合Cartopy)

import cartopy.crs as ccrsfig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree())
ax.coastlines()
ax.set_extent([-20, 60, -40, 40])
plt.show()

在这里插入图片描述

动态数据流实时更新

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation# 初始化数据
x = []  # 存储 x 坐标
y = []  # 存储 y 坐标# 创建绘图环境
fig, ax = plt.subplots()
ax.set_xlim(0, 2 * np.pi)  # 设置 x 轴范围
ax.set_ylim(-1.5, 1.5)     # 设置 y 轴范围
line, = ax.plot([], [], lw=2)  # 创建空的 Line2D 对象# 更新函数
def update(frame):x.append(frame)                  # 添加新的 x 值y.append(np.sin(frame))          # 添加对应的 y 值 (sin 函数)line.set_data(x, y)              # 更新线条数据if frame > 2 * np.pi:            # 限制 x 轴范围ax.set_xlim(frame - 2 * np.pi, frame)ax.figure.canvas.draw()      # 更新绘图区域return line,# 创建动画
ani = animation.FuncAnimation(fig, update, frames=np.linspace(0, 10 * np.pi, 500), interval=50
)# 显示动画
plt.show()# 如果需要保存动画为文件,可以使用以下代码:
# ani.save('sine_wave_animation.mp4', writer='ffmpeg', fps=30)

在这里插入图片描述


扩展思考

可视化陷阱案例

  • 截断坐标轴:柱状图从非零基线开始
  • 误导性双轴:不同量级数据使用不同刻度
  • 三维饼图:透视变形导致比例误判

学术级图表渲染

import matplotlib.pyplot as plt# 使用系统默认的 serif 字体
plt.rcParams.update({"font.family": "serif","font.serif": ["Times New Roman", "DejaVu Serif", "Liberation Serif"],  # 替代 Palatino
})# 使用 MathJax 渲染
plt.rcParams['text.usetex'] = False
plt.rcParams['mathtext.fontset'] = 'cm'  # 使用 Computer Modern 字体# 绘制公式
plt.title(r'$\mathcal{F}(x) = \int_{-\infty}^\infty f(x) e^{-2\pi i x} dx$')
plt.show()

##运行代码前记得安装依赖包,本文在python3.11.5环境通过运行

# 安装依赖
!pip install matplotlib seaborn cartopy

通过掌握这些高级技巧,您将能创建出兼具专业性和艺术性的数据可视化作品。下期我们将探讨三维数据可视化与交互式图表开发!

http://www.dtcms.com/wzjs/243353.html

相关文章:

  • 免费建站平台哪个靠谱广州谷歌seo
  • 潍坊网站建设服务优化seo招聘
  • 微网站设计直通车推广计划方案
  • 合肥做网站怎么样有没有自动排名的软件
  • web网站开发技术说明seo基础优化包括哪些内容
  • 芜湖服装网站建设庆云网站seo
  • 广州网站优化公司东莞百度seo电话
  • 移动端企业网站自媒体运营
  • kesion系统做网站教程免费顶级域名申请网站
  • 网站建设-纵横网络营销网站建设选择
  • 政府网站asp源码软文范文大全
  • c 做的网站又哪些体验式营销案例
  • 独立网站模板下载西安关键词推广
  • 佛山网站推广优化怎样创建网站平台
  • 免费asp网站程序下载竞价推广开户
  • 北京网站建设华大网络营销策划推广公司
  • 天津建设厅官方网站网络竞价
  • 最好的网站建设哪家好批量查询指数
  • 城乡建设与管理委员会网站下载百度极速版免费安装
  • 简述网站首页制作过程教育机构培训
  • 怎么看一个网站是不是外包做的北京疫情太严重了
  • 台州seo网站排名杭州seo靠谱
  • 公司弄个网站多少钱重庆森林壁纸
  • 网站建设要与安全防护同步规划网络工具
  • 微信赌博链接网站建设北京网站优化常识
  • 做招聘图片的网站百度关键词价格计算
  • 哪里可以接一些网站项目做湖州网站seo
  • 在百度上做网站多少钱完美日记网络营销策划书
  • mysql做网站怎么查看数据外贸网站建设平台
  • 怎么做代理人金沙网站友链交换有什么作用