python facecolor_规范化Matplotlib中Facecolors使用的Colormap

本文探讨如何在Python的Matplotlib中为3D球体表面着色时规范化Facecolors,特别是处理包含负数的球谐函数输出。通过使用`scipy.special.sph_harm`生成颜色数据,并尝试应用`matplotlib.colors.Normalize`进行规范化,作者遇到负值被截断的问题,导致颜色映射不准确。寻求解决方案以正确地应用规范化颜色映射到面部颜色。
摘要由CSDN通过智能技术生成

我在这里:import matplotlib.pyplot as plt

from matplotlib import cm, colors

from mpl_toolkits.mplot3d import Axes3D

import numpy as np

from scipy import special

# Create a sphere

r = 3

pi = np.pi

cos = np.cos

sin = np.sin

phi, theta = np.mgrid[0:pi:50j, 0:2*pi:50j]

x = r * sin(phi) * cos(theta)

y = r * sin(phi) * sin(theta)

z = r * cos(phi)

colorfunction=special.sph_harm(3,4,theta,phi).real

norm=colors.Normalize(vmin = np.min(colorfunction), vmax = np.max(colorfunction), clip = False)

print colorfunction

fig = plt.figure()

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

ax.scatter(x, y, z)

ax.plot_surface(

x, y, z, rstride=1, cstride=1, norm=norm, cmap=cm.jet, facecolors=cm.jet(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值