python画三维散点图-Python散点图与三维图

写在前面的话

省得每次都去百度,于是就摘抄一下Python画图方法和代码。

画二维散点图

import numpy as np

import matplotlib.pyplot as plt

#假设已经定好data_pos = ...

x = data_pos[:, 0]

y = data_pos[:, 1]

plt.ylim(ymax=20, ymin=0) #限定Y轴的范围

plt.plot(x, y, 'ro') # ro表示用红色圆点来表示点

plt.show()

一个很不具代表性的散点图如下:

image.png

画直方图

import numpy as np

import matplotlib.pyplot as plt

#假设已经定好data_pos = ...

x = data_pos[:, 0]

y = np.arange(0, 20, 1)

#上面 y实际是统计的区域段,这里为0-1,1-2,2-3,3-4这样以1为步长,一直到19-20

plt.hist(x, y, histtype='bar', rwidth=0.8)

image.png

画三维散点图

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

#假设已经定好data_pos = ...

fig = plt.figure()

ax = Axes3D(fig)

x = data_pos[:, 0]

y = data_pos[:, 1]

z = data_pos[:, 2]

ax.scatter(x, y, z, c='r')

# 设置X、Y、Z轴的名字显示,用刺眼的红色

ax.set_zlabel('Z', fontdict={'size': 15, 'color': 'red'})

ax.set_ylabel('Y', fontdict={'size': 15, 'color': 'red'})

ax.set_xlabel('X', fontdict={'size': 15, 'color': 'red'})

plt.show()

画三维曲面

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()

ax = Axes3D(fig)

# 假设曲面方程为coef[0]*X + coef[1]*Y + coef[2]*z + coef[3]= 0

# 画这个曲面要先确定好其中两个轴的取值范围,然后z通过曲面方程公式表示出来

X = np.arange(-10, 100, 1)

Y = np.arange(-10, 100, 1)

coef = np.array([1,2,3,4])

X, Y = np.meshgrid(X, Y)

z = (-coef[3]- coef[0]*X - coef[1]*Y)/coef[2]

ax.plot_surface(X, Y, z, rstride=1, cstride=1, cmap='rainbow')

plt.show()

你可能感兴趣的:(python画三维散点图-Python散点图与三维图)