示例代码:
import numpy as np
import matplotlib.pyplot as plt
from mpl _ toolkits.MP lot3dimportaxes 3d
数据=NP.random.randint (0,255,size=[ 40,40,40 ] ) ) ) ) ) ) ) )。
x,y,z=data[0],data[1],data[2]
将ax=PLT.subplot(111,projection='3d ' ) (创建三维绘图过程)数据点分成三个部分进行绘制,并在颜色上绘制分辨率ax.scatter(x[:10],y[:10]
ax.scatter(x[30:40],y[30:40],z[30:40],c='g ' )
ax.set_zlabel'z'#坐标轴ax.set_ylabel('Y ' )
ax.set_xlabel('x ' ) )。
plt.show () )
今天我想在散点图的特定点外画圈,可以从下面的文章中得到灵感,在原始散点图上做适当的标记,设定透明度,就能实现这个想法。
顺便复习一下散点图的使用方法。
为了直观地显示数据的分布情况,大家通常在绘制散点图时,会很容易地用圆点绘制数据点。 就像这样。
这样:
也有这样的:
但是,今天我想展示的散点图,虽然可能不那么直观地反映数据的分布情况,不实用,但真的很美很艺术,每个点的颜色和大小都不一样,形状也不一样。 例如五角星散布图:
点散布图:
y形散点图:
还有很多,这些美丽的形状是怎么画的呢? 其实代码很简单:
来自编号导入*;
N=50 #点个数
x=NP.random.rand(n ) )2)随机生成50个0到2之间的x坐标
y=NP.random.rand(n ) )2)随机生成50个0到2之间的y坐标
colors=NP.random.rand(n ) #随机生成50个0到1之间的颜色值
area=NP.pi * (15 * NP.random.rand (n ) ) *2#点的半径范围:0至15
#绘制散点图
PLT.Scatter(x,y,s=area,c=colors,alpha=0.5,Marker=) 9,3,30 )
plt.show () )
这里使用的是在matplotlib.pyplot子库中绘制散点图的函数
matplotlib.pyplot.Scatter(x,y,s=20,c=None,marker='o ',
cmap=None,norm=None,vmin=None,vmax=None,alpha=none,
linewidths=None,verts=None,edgecolors=None,hold=None,
data=None,**kwargs )
这个函数接收很多参数。 如果有默认值,平时我们就不需要指定。 是可选的。 这次除了基本的x、y参数外,还有c、s、alpha和标记。 c指定为点指定的颜色阵列,s指定点的面积大小,alpha指定点的颜色透明度,标记指定点标记的形状。 示例将透明度指定为0.5。 c和s是随机生成的。 要更改的是marker的值。 可以为marker选择很多值。 下表显示了根据示例代码更改marker值的结果。
标记结果
“.”
”、“
“o”
“v”
“^”
“”
“”
“1”
“2”
“3”
“4”
“8”
' s '
' p '
“*”
“h”
“h”
“”
' x '
' d '
' d '
'
”
“_”
“None”
是的。 没什么。
“$…$”
(numsides,style,angle )
eg : (9,0,30 ) )。
注意: numsides是边数,
angle是旋转角度,
style只有四个值: 0、1、2和3
(numsides,style,angle )
Eg : (9,1,30 ) )。
(numsides,style,angle )
eg:(9、2、30 ) )。
(numsides,style,angle )
eg:(9、3、30 ) )。
注:此时将自动忽略numsides和angle值
.
这么多点形状的符号对我们来说足够了吧。 你接下来想用哪个来查?