Python数据分析

Python数据分析 知识量:13 - 56 - 232

13.4 设置图表格式><

图表的网格线- 13.4.1 -

网格线是坐标轴的延伸,便于对图形进行更好的分析观察,它默认是关闭的,可以通过grid()函数的参数b来开启。例如:

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4))
ax=fig.add_subplot(1,1,1)
plt.grid(b=True)  # 设置网格线
x=np.array([1,2,3,4,5,6])
y=np.array([56,885,457,695,1254,265])
ax.plot(x,y)
plt.show()

绘制的图形为:

Figure_1709.png

此外,还可以通过grid()函数的更多参数来设置网格线的更多特性。例如:

  • 通过参数axis来设置只打开x轴或y轴的网格线。当axis='x'时,只打开x轴的网格线;当axis='y'时,只打开y轴的网格线。

  • 通过参数linestyle来设置线型。

  • 通过linewidth来设置线宽。

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4))
ax=fig.add_subplot(1,1,1)
plt.grid(b=True,linestyle='dashed',axis='y')
x=np.array([1,2,3,4,5,6])
y=np.array([56,885,457,695,1254,265])
ax.plot(x,y)
plt.show()

绘制的图形为:

Figure_1716.png

图表的图例- 13.4.2 -

图例起到注释的作用,通过label参数在绘图函数中设置图例名后,可以利用legend()方法将图例显示出来。

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4))
ax=fig.add_subplot(1,1,1)
x=np.array([1,2,3,4,5,6])
y=np.array([56,885,457,695,1254,265])
ax.plot(x,y,label='A',color='r')
ax.bar(x,y,label='B')
plt.legend()
plt.show()

绘制的图形为:

Figure_1723.png

图表的标题- 13.4.3 -

可以使用title()函数来设置图表的标题。

import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure(figsize=(6, 4))
ax = fig.add_subplot(1, 1, 1)
plt.title('First half data')  # 设置标题
x = np.array([878, 88, 395, 726, 56, 12])
labels = ['January', 'February', 'March', 'April', 'May', 'June']
ax.pie(x, labels=labels)
plt.show()

绘制的图形为:

Figure_1748.png

数据标签- 13.4.4 -

数据标签就是图表中每个坐标值对应的数值,要显示数据标签可以使用text()函数。该函数前两个参数用于确定显示标签的位置,第3个参数表示显示的内容。

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4))
ax=fig.add_subplot(1,1,1)
x=np.array([1,2,3,4,5,6])
y=np.array([56,885,457,695,1254,265])
ax.plot(x,y)
plt.text(5,1254,1254)
plt.show()

绘制的图形为:

Figure_1321.png

如果要显示所有的数据标签,可以利用for循环来实现。

import matplotlib.pyplot as plt
import numpy as np
fig=plt.figure(figsize=(6,4))
ax=fig.add_subplot(1,1,1)
x=np.array([1,2,3,4,5,6])
y=np.array([56,885,457,695,1254,265])
ax.plot(x,y)
for a,b in zip(x,y):
    plt.text(a,b,b)
plt.show()

绘制的图形为:

Figure_1335.png