动漫制作专业学习方法,游戏优化大师有用吗,企业官网下载,wordpress自定义页面分页文章概要
本文详细介绍 Matplotlib 的颜色映射功能#xff0c;包括#xff1a;
颜色映射类型颜色映射设置数据标准化颜色条
颜色映射类型
pcolormesh
import matplotlib.pyplot as plt
import numpy as np# 创建网格数据
x np.linspace(-3, 3, 100)
y np.linspace(-3,…文章概要
本文详细介绍 Matplotlib 的颜色映射功能包括
颜色映射类型颜色映射设置数据标准化颜色条
颜色映射类型
pcolormesh
import matplotlib.pyplot as plt
import numpy as np# 创建网格数据
x np.linspace(-3, 3, 100)
y np.linspace(-3, 3, 100)
X, Y np.meshgrid(x, y)
Z np.sin(np.sqrt(X**2 Y**2))# 使用 pcolormesh 绘制
plt.figure(figsize(8, 6))
plt.pcolormesh(X, Y, Z, cmapviridis)
plt.colorbar()
plt.title(pcolormesh 示例)
plt.show()contourf
# 使用 contourf 绘制
plt.figure(figsize(8, 6))
plt.contourf(X, Y, Z, levels20, cmapviridis)
plt.colorbar()
plt.title(contourf 示例)
plt.show()# 设置轮廓线
plt.contourf(X, Y, Z, levels20, cmapviridis)
plt.contour(X, Y, Z, levels20, colorsk, alpha0.5)
plt.colorbar()imshow
# 使用 imshow 绘制
plt.figure(figsize(8, 6))
plt.imshow(Z, cmapviridis, originlower,extent[-3, 3, -3, 3])
plt.colorbar()
plt.title(imshow 示例)
plt.show()# 设置插值方法
plt.imshow(Z, cmapviridis, interpolationbilinear)scatter
# 创建散点数据
x np.random.randn(100)
y np.random.randn(100)
z np.random.randn(100)# 使用 scatter 绘制
plt.figure(figsize(8, 6))
plt.scatter(x, y, cz, cmapviridis)
plt.colorbar()
plt.title(scatter 示例)
plt.show()# 设置点大小
plt.scatter(x, y, cz, cmapviridis, s100)颜色映射设置
选择颜色映射
# 使用内置颜色映射
plt.pcolormesh(X, Y, Z, cmapviridis) # 默认颜色映射
plt.pcolormesh(X, Y, Z, cmapplasma) # 等离子体
plt.pcolormesh(X, Y, Z, cmapinferno) # 地狱
plt.pcolormesh(X, Y, Z, cmapmagma) # 岩浆
plt.pcolormesh(X, Y, Z, cmapcividis) # 色盲友好# 使用反转的颜色映射
plt.pcolormesh(X, Y, Z, cmapviridis_r)创建自定义颜色映射
from matplotlib.colors import LinearSegmentedColormap# 创建自定义颜色映射
colors [#000000, #ff0000, #ffff00, #ffffff]
cmap LinearSegmentedColormap.from_list(custom_cmap, colors)# 使用自定义颜色映射
plt.pcolormesh(X, Y, Z, cmapcmap)
plt.colorbar()
plt.title(自定义颜色映射)
plt.show()# 创建离散颜色映射
from matplotlib.colors import ListedColormap
colors [red, green, blue]
cmap ListedColormap(colors)第三方颜色映射
# 使用 seaborn 颜色映射
import seaborn as sns
plt.pcolormesh(X, Y, Z, cmapsns.color_palette(husl, 256))# 使用 colorcet 颜色映射
import colorcet as cc
plt.pcolormesh(X, Y, Z, cmapcc.cm.rainbow)数据标准化
线性标准化
from matplotlib.colors import Normalize# 创建标准化对象
norm Normalize(vmin-1, vmax1)# 使用标准化
plt.pcolormesh(X, Y, Z, cmapviridis, normnorm)
plt.colorbar()
plt.title(线性标准化)
plt.show()# 自动标准化
plt.pcolormesh(X, Y, Z, cmapviridis, normNormalize())对数标准化
from matplotlib.colors import LogNorm# 创建对数标准化对象
norm LogNorm(vmin0.1, vmax10)# 使用对数标准化
plt.pcolormesh(X, Y, Z, cmapviridis, normnorm)
plt.colorbar()
plt.title(对数标准化)
plt.show()# 自动对数标准化
plt.pcolormesh(X, Y, Z, cmapviridis, normLogNorm())其他标准化方法
from matplotlib.colors import PowerNorm, SymLogNorm# 使用幂次标准化
norm PowerNorm(gamma0.5)
plt.pcolormesh(X, Y, Z, cmapviridis, normnorm)# 使用对称对数标准化
norm SymLogNorm(linthresh0.1)
plt.pcolormesh(X, Y, Z, cmapviridis, normnorm)颜色条
添加颜色条
# 基本颜色条
plt.pcolormesh(X, Y, Z, cmapviridis)
plt.colorbar()# 设置颜色条位置
plt.colorbar(orientationhorizontal)
plt.colorbar(locationleft)
plt.colorbar(locationright)自定义颜色条
# 设置颜色条标签
plt.colorbar(label数值)# 设置颜色条刻度
plt.colorbar(ticks[-1, 0, 1])# 设置颜色条格式
plt.colorbar(format%.1f)# 设置颜色条大小
plt.colorbar(fraction0.046, pad0.04)颜色条位置
# 使用 axes 位置
cbar_ax plt.axes([0.85, 0.1, 0.05, 0.8])
plt.colorbar(caxcbar_ax)# 使用 GridSpec
import matplotlib.gridspec as gridspec
gs gridspec.GridSpec(1, 2, width_ratios[20, 1])
ax plt.subplot(gs[0])
cbar_ax plt.subplot(gs[1])
plt.colorbar(caxcbar_ax)总结
颜色映射部分涵盖了
颜色映射类型pcolormesh、contourf、imshow、scatter颜色映射设置选择颜色映射、创建自定义颜色映射、第三方颜色映射数据标准化线性标准化、对数标准化、其他标准化方法颜色条添加颜色条、自定义颜色条、颜色条位置
掌握这些颜色映射功能对于创建专业的可视化图表至关重要它可以帮助我们
展示数据的分布特征突出数据的变化趋势增强图表的可读性提升图表的专业性
建议在实际项目中注意
选择合适的颜色映射考虑数据标准化方法注意颜色条的位置和样式保持图表的清晰度考虑色盲友好性注重整体美观性