小编O S*_*ith的帖子

在Python的matplotlib中绘制球体表面上的点

我正在尝试生成一个球体图,其中一些点绘制在球体表面上.(特别是点是Lebedev正交点)我希望我的情节看起来类似于我在网上找到的那个:在此输入图像描述

我继续绘制球形表面,然后用散点图覆盖它.然而,这导致我的大部分点被底层球​​体"吸收",使得它们难以被看到.看一看:在此输入图像描述

如何防止我的点被球体遮挡?这是我用来生成这个图的脚本:

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

# Create a sphere
r = 1
pi = np.pi
cos = np.cos
sin = np.sin
phi, theta = np.mgrid[0.0:pi:100j, 0.0:2.0*pi:100j]
x = r*sin(phi)*cos(theta)
y = r*sin(phi)*sin(theta)
z = r*cos(phi)

#Import data
data = np.genfromtxt('leb.txt')
xx, yy, zz = np.hsplit(data, 3) 

#Set colours and render
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

ax.plot_surface(
    x, y, z,  rstride=1, cstride=1, color='c', alpha=0.6, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

16
推荐指数
1
解决办法
1万
查看次数

标签 统计

matplotlib ×1

python ×1