1. 绘制简单的折线图
安装了matplotlib后,我们来使用matplotlib绘制一个简单的折线图。
import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
plt.plot(squares)
plt.show()
我们创建了一个列表squares,在其中保存了平方数,再将这个列表传递给函数plot(),这个函数尝试根据这些数字绘制出有意义的图形。
2. 修改标签文字和线条粗细
上面的图标签太小,线条太细,我们来调整一下参数,改善图形的可读性。
import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
plt.plot(squares, linewidth=5)
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)
plt.tick_params(axis='both', labelsize=14)
plt.show()
参数linewidth()决定了plot()绘制的线条的粗细。函数title()给图表指定标题。参数fontsize指定了图表中文字的大小。
函数xlabel()和ylabel()让你能够为每条轴设置标题;而函数tick_params()设置刻度的样式,其中指定的实参将影响x轴和y轴上的刻度(axis=‘both’),并将刻度标记的字号设置为14(labelsize=14)。
3. 校正图形
图形更容易阅读后,我们发现没有正确地绘制数据:折线图的终点指出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)
plt.tick_params(axis='both', labelsize=14)
plt.show()
因此,为了让plot()正确绘制图形,必须同时提供输入值和输出值。
文章内容来自《Python编程 从入门到实践》 [美] Eric Matthes 袁国忠 译