您的位置:首页 > 编程语言 > PHP开发

Matplotlib绘制折线图

2017-11-26 20:08 627 查看
matplotlib包是目前绘制2D图像最常用的python包,是一个数学绘图库,我们将使用它来制作简单的图表,如折线图和散点图等。数据可视化指的是通过可视化表示来探索数据。接下来开始学习简单的绘图知识。

使用matplotlib绘制一个简单的折线图,再对其进行定制,以实现信息更丰富的数据可视化。

import matplotlib.pyplot as plt
squares=[1,4,9,16,25,36]
plt.plot(squares)
plt.show()




修改标签文字和线条粗细

import matplotlib.pyplot as plt
squares=[1,4,9,16,25]
#绘制的线条的粗细
plt.plot(squares, linewidth=5)
#设置图表标题,并给坐标抽加上标签,参数fontsize 指定图表中文字的大小
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of value", fontsize=14)
#设置刻度标记的大小,both影响x轴和y轴上的刻度
plt.tick_params(axis='both', labelsize=14)
plt.show()




可以看到标签文字更大,线条也更粗

我们发现没有正确地绘制数据:折线图的终点指出4.0的平方为25. 当你向 plot() 提供一系列数字时,它假设第一个数据点对应的x坐标值为0,但我们的第一个点对应的x值为1。为改变这种默认行为,我们可以给 plot() 同时提供输入值和输出值。

#校正图形
import matplotlib.pyplot as plt
input_values = [1, 2, 3, 4, 5]
squares=[1, 4, 9, 16, 25]
plt.plot(input_values, squares, linewidth=5)
# 设置图表标题,并给坐标抽加上标签,
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of value", fontsize=14)
# 设置刻度标记的大小,both影响x轴和y轴上的刻度
plt.tick_params(axis='both', labelsize=14)
plt.show()




使用 scatter() 绘制散点图并设置其样式

import matplotlib.pyplot as plt
x_values=[1,2,3,4,5]
y_values=[1,4,9,16,25]
plt.scatter(x_values,y_values,s=100)
# 设置图表标题,并给坐标抽加上标签
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of value", fontsize=14)
# 设置刻度标记的大小
plt.tick_params(axis='both',which='major',labelsize=14)
plt.show()




自动计算数据,绘制1000个点

import matplotlib.pyplot as plt
x_values=list(range(1,1001))
y_values=[x**2 for x in x_values]
plt.scatter(x_values,y_values,s=10)
# 设置图表标题,并给坐标抽加上标签
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of value", fontsize=14)
# 设置刻度标记的大小
plt.tick_params(axis='both',which='major',labelsize=14)
#设置每个坐标抽的取值范围
plt.axis([0,1100,0,1100000])
plt.show()




matplotlib允许你给散点图中的各个点指定颜色。默认为蓝色点和黑色轮廓. 要删除数据点的轮廓,可在调用 scatter() 时传递实参edgecolor=’none’. 在图表中看到的将是蓝色实心点。

自定义颜色

要修改数据点的颜色,可向 scatter() 传递参数 c

plt.scatter(x_values, y_values, c='red', edgecolor='none', s=40)


plt.scatter(x_values, y_values, c=(0, 0, 0.8), edgecolor='none', s=40)




将其设置为一个元组,其中包含三个0~1之间的小数值,它们分别表示红色、绿色和蓝色分量.

plt.scatter(x_values, y_values, c=(0, 0, 0.8), edgecolor=’none’, s=40)

使用颜色映射

将参数 c 设置成了一个y值列表,并使用参数 cmap 告诉 pyplot 使用哪个颜色映射。这些代码将y值较小的点显示为浅蓝色,并将y值较大的点显示为深蓝色

plt.scatter(x_values,y_values, c=y_values,cmap=plt.cm.Blues,  edgecolor='none', s=10)




自动保存图表:让程序自动将图表保存到文件中,可将对 plt.show() 的调用替换为对 plt.savefig() 的调用

plt.savefig('squares_plot.png', bbox_inches='tight')


通过练习熟悉一些简单的绘图知识,今后慢慢深入学习绘制其他的图形。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 数据可视化