7 matplotlib绘图和Pygal可视化
- 7.1matplotlib的安装和测试
- 7.2绘制基本图形的命令
-
- 7.2.1折线图
- 7.2.2散点图
- 7.3设置图像格式
- 7.4 Pygal的安装
- 7.5可视化直方图
-
- 7.5.1直方图
7.1matplotlib的安装和测试
安装----- 在cmd中把路径调整到python的安装目录(D:可以跳转磁盘区,cd python可以跳转到python的文件夹),然后输入python -m pip install matplotlib即可安装最新版本的matplotlib。
测试----- cmd跳转到python文件夹,输入import matplotlib 无错误即安装成功。
7.2绘制基本图形的命令
在使用前必须导入:[in1]import matplotlib [in2]import matplotlib.pyplot两个包,代码最后通过matplotlib.pyplot.show()显示图像。
7.2.1折线图
折线图基础命令----- matplotlib.pyplot.plot(X坐标数组,Y坐标数组,其它属性=……)
例如:绘制平方曲线图
#绘制平方曲线
import matplotlib
import matplotlib.pyplot
value_x=list(range(1,100))
value_y=[x**2 for x in value_x]
matplotlib.pyplot.plot(value_x,value_y)
scat_value_x=list(range(20,100,20))
scat_value_y=[x**2 for x in scat_value_x]
matplotlib.pyplot.scatter(scat_value_x,scat_value_y)
matplotlib.pyplot.title("y=sqrt(x)",fontsize=15)
matplotlib.pyplot.xlabel("x",fontsize=15)
matplotlib.pyplot.ylabel("y",fontsize=15)
matplotlib.pyplot.tick_params(axis='both',labelsize=10)
matplotlib.pyplot.axis([0,110,0,11000])
matplotlib.pyplot.show()
结果为:
7.2.2散点图
散点图基础命令----- matplotlib.pyplot.scatter(X坐标数组,Y坐标数组,其它属性=…….)
绘制随机漫步图:
#经典的随机漫步图
import matplotlib
import matplotlib.pyplot as plt
from random import choice
class RandomWalk():
def __init__(self,num_points=20000):
self.num_points=num_points
self.x_value=[0]
self.y_value=[0]
def fill_walk(self):
while len(self.x_value)<self.num_points:
x_dir=choice([-1,1])
y_dir=choice([-1,1])
x_dis=choice([0,1,2,3,4,5])
y_dis=choice([0,1,2,3,4,5])
x_step=x_dir*x_dis
y_step=y_dir*y_dis
if x_step==0 and y_step==0:
continue
next_x=self.x_value[-1]+x_step #数值-1表示访问倒数第一个元素
next_y=self.y_value[-1]+y_step
self.x_value.append(next_x)
self.y_value.append(next_y)
while True:
rw = RandomWalk()
rw.fill_walk()
point_numbers = list(range(rw.num_points))
plt.figure(figsize=(10, 6))
#c表示颜色,c=数组表示颜色都不相同
# plt.scatter(rw.x_value, rw.y_value, c=point_numbers,cmap=matplotlib.cm.Greys,edgecolor='none', s=1)
plt.scatter(rw.x_value, rw.y_value, c=point_numbers,edgecolor='none', s=1)
plt.show()
keepruning=input("继续输出吗?(y/n)")
if keepruning=='n':
break
输出结果为:
7.3设置图像格式
更改字体----- matplotlib.pyplot.rc(‘font’,family=‘Times New Roman’)
设置标题----- matplotlib.pyplot.title(“标题名”,fontsize=int)
设置X轴标题----- matplotlib.pyplot.xlabel(“X轴标题”,fontsize=int)
设置Y轴标题----- matplotlib.pyplot.ylabel(“X轴标题”,fontsize=int)
设置坐标轴刻度大小------ matplotlib.pyplot.tick_params(axis=‘both’,labelsize=int) 其中axis可以赋值为’x’、'y’和’both’三种
设置坐标轴的范围----- matplotlib.pyplot.axis([xmin,xmax,ymin,ymax])
保存图片----- matplotlib.pyplot.savefig(‘文件名.png’, bbox_inches=‘tight’)
隐藏坐标轴----- matplotlib.axes.get_xaxis().set_visible(False)
设置图片长宽比----- matplotlib.pyplot.figure(figsize=(int,int))这个命令最好放在绘图的前面
7.4 Pygal的安装
安装----- 在cmd中把路径调整到python的安装目录(D:可以跳转磁盘区,cd python可以跳转到python的文件夹),输入pip install pygal即可。
测试----- cmd跳转到python文件夹,输入import pygal无误即安装成功。
7.5可视化直方图
7.5.1直方图
import pygal
line_chart = pygal.Bar()
line_chart.title = 'Browser usage evolution (in %)'
line_chart.x_labels = map(str, range(2002, 2013))
line_chart.add('Firefox', [None, None, 0, 16.6, 25, 31, 36.4, 45.5, 46.3, 42.8, 37.1])
line_chart.add('Chrome', [None, None, None, None, None, None, 0, 3.9, 10.8, 23.8, 35.3])
line_chart.add('IE', [85.8, 84.6, 84.7, 74.5, 66, 58.6, 54.7, 44.8, 36.2, 26.6, 20.1])
line_chart.add('Others', [14.2, 15.4, 15.3, 8.9, 9, 10.4, 8.9, 5.8, 6.7, 6.8, 7.5])
line_chart.render_to_file('test.svg')
输出结果: