Python 数据可视化处理的库:Matplotlib
1:安装Matplotlib:我用的是centos7,并且将python 升级了,原来centos自带的是python2.7.5的版本,升级之后会到来一些列的问题,(我将/etc/bin/ 里的python -> python3)例如:yum安装软件的时候会报错,这里将yum相关的配置文件进行更改,打开:/etc/bin ls yum* 将列出的所有yum文件都进行修改
#!/usr/bin/python ----> #!/usr/bin/python2就好了就可以正常的安装软件了
2:安装Matplotlib的相关依赖:这里我用的是Python3.6的版本,安装如下依赖:
sudo yum install -y tk-devel tkinter
注意在ubuntu系列中 tk-devel 对应下载的应该是tk-dev
然后在用pip3安装Matplotlib
pip3 install --user matplotlib
3:使用matplotlib库:
我做的测试是在IDE中完成的(Pycharm)
下面来一个随机漫步的小实验:
1:创建随机漫步的类:RandomWalk
class_randdmWalk.py
from random import choice
class RandomWalk():
def __init__(self,number_points)
self.number_points = number_points
self.x_value=[0]
self.y_value=[0]
def fill_work():
#确定x向前还是向后
x_direction = choice([1,-1])
#确定x向前或者向后移动的距离
x_distance = choice([0,1,2,3,4,5])
#确定x移动的步数
x_step = x_direction * x_distance
#同理y也是一样的
#确定向前还是向后
y_direction = choice([1,-1])
#确定y向前或者向后移动的距离
y_distance = choice([0,1,2,3,4,5])
#确定y移动的步数
y_step = y_direction * y_distance
#杜绝这么一种情况,x_step = y_step = 0
if x_step == 0 and y_step == 0:
continue
#开始移动
next_x = x_step + self.x_value[-1]
next_y = y_step + self.y_value[-1]
#将新的x,y的坐标进行存储
self.x_value.append(next_x)
self.y_value.append(next_y)
我们这里引入了random 包的choice方法:从给定数组中随机选择一个数字,我们排除了原地移动的情况
对上面返回的数据进行绘制:
rw_plot.py
from class_randomWalk import RandomWalk
import matplotlib.pyplot as plt
while True:
#创建一个RandomWalk对象,创建一个包含5000个点的对象
rw = RandomWalk(5000)
#开始随机漫步
rw.fill_work()
#随机漫步结束这时候该对象的数组内容已经被填充完毕
#开始画散点图
plt.scatter(rw.x_value,rw.y_value,c=rw.number_points,cmap=plt.cm.Reds,edgecolor='none',s=10)
#将第一个和最后一个散点的颜色和大小进行变化易于观察
plt.scatter(0,0,c='green',edgecolor='none',s=100)
plt.scatter(rw.x_value[-1],rw.y_value[-1],c='blue',edgecolor='none',s=100)
plt.show()
keep_walking = input("Keep walking?(y|n):")
if(keep_walking == 'n'):
break
plt.scatter()是绘制散点图的方法,参数c是点的个数或者每个点的颜色,cmap是颜色映射,edgecolor是每个点的外轮廓,s 是每个点的大小,这里我们为第一个点和最后一个点设置大小大一点易与区分
下面是运行后的情况: