“这是我参与更文挑战的第7天,活动详情查看: 更文挑战”
在绘制图表之前要先引入Matplotlib库,相应的代码通常写成“import matplotlib.pyplot asplt”,这是为了给库设置简称,之后使用plt作为前缀调用所需函数即可绘制图表。例如,plt.plot()函数用于绘制折线图,plt.bar()函数用于绘制柱形图,plt.pie()函数用于绘制饼图等。本小节以折线图、柱形图、散点图和直方图为例讲解图表的基本绘制方法。
1.绘制折线图
使用plt.plot()函数可以绘制折线图,演示代码如下。
>>> import matplotlib.pyplot as plt
>>> x=[1,2,3]
>>> y=[2,4,6]
>>> plt.plot(x,y)
>>> plt.show()
注意最后要用plt.show()来展示绘制效果,运行结果如下图所示。
如果想让x和y之间在数学上存在关联,但列表又不太容易进行数学运算,就可以通过NumPy库引入一维数组进行数学运算,代码如下。
import numpy as np
import matplotlib.pyplot as plt
x1 = np.array([1,2,3])
y1 = x1+1
plt.plot(x1,y1)
y2=x1*2
plt.plot(x1,y2,color = 'red',linewidth=3,linestyle='--')
plt.show()
这里利用NumPy库生成一个一维数组x1,并利用数组的可运算性生成y1和y2,将两条线绘制在一张图表上,最终运行结果如下图所示。
2.绘制柱形图
使用plt.bar()函数可以绘制柱形图,演示代码如下。
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [5,4,3,2,1]
plt.bar(x,y)
plt.show()
运行结果如下图所示。
3.绘制散点图
使用plt.scatter()函数可以绘制散点图,演示代码如下。
import matplotlib.pyplot as plt
import numpy as np
x=np.random.rand(10)
y=np.random.rand(10)
plt.scatter(x,y)
plt.show()
使用np.random.rand(10)生成10个0~1之间的随机数,运行结果如下图所示。
4.绘制直方图
直方图分为频数直方图和频率直方图,横坐标为相关数据,纵坐标为该数据出现的频数或频率。使用plt.hist()函数可以绘制直方图,演示代码如下。
import matplotlib.pyplot as plt
import numpy as np
data = np.random.randn(10000)
plt.hist(data,bins=40,edgecolor='black')
plt.show()
使用np.random.randn(10000)随机生成10000个服从标准正态分布(均值为0、标准差为1)的数据,运行结果如下图所示。其中x轴表示随机生成的数据,y轴则表示该数据出现的次数,即频数。此外,若想绘制频率直方图,可以设置density参数为1。