# #!/usr/bin/env python
# # -*- coding: UTF-8 -*-
# """
# @version: python2.7.8
# @author: XiangguoSun
# @contact: sunxiangguodut@qq.com
# @file: 4.py
# @time: 2017/2/16 11:07
# @software: PyCharm
# """
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.art3d import Poly3DCollection

def randrange(n, vmin, vmax):
    return np.random.randint(vmin,vmax,n)

def fun(ax,ben,color,n):
    zl, zh = (0, 100)
    x5 = randrange(n, 0, 100)
    y5 = randrange(n, 0, 100)
    z5=randrange(n,5,6)
    ax.scatter(x5, y5, z5,s=50,c=color,marker='o')
    poly3d = [[(0, 0, ben), (0, 100, ben), (100, 100, ben), (100, 0, ben)] ]
    ax.add_collection3d(Poly3DCollection(poly3d, facecolors=color, linewidths=1, alpha=0.2))

fig = plt.figure()
ax = fig.gca(projection='3d')
fun(ax,5,"red",10)
fun(ax,50,"green",15)
fun(ax,90,"blue",10)

n = 50
color="yellow"
zl, zh = ( 0, 100)
xa = randrange(n, 0, 100)
ya = randrange(n, 0, 100)
za = randrange(n, zl, zh)
ax.scatter(xa, ya, za,s=50,c=color,marker='o')

ax.set_xlabel('$x^{(1)}$',size=20)#$x^{(1)}$是Latex表达式
ax.set_xlim3d(0, 100)
ax.set_ylabel('$x^{(2)}$',size=20)
ax.set_ylim3d(0,100)
ax.set_zlabel('$z$',size=20)
ax.set_zlim3d(0,100)
plt.show()



Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐