likes
comments
collection
share

数据可视化常用技巧 | 更文挑战

作者站长头像
站长
· 阅读数 37

1.添加文字说明

使用plt.title()函数为图标添加标题,使用plt.xlabel()和plt.ylabel()函数分别为X轴和y轴添加标签,代码如下:

import matplotlib.pyplot as plt
x = [1,2,3]
y = [4,5,6]
plt.plot(x,y)
plt.title('Title')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()

运行结果如下图所示。

数据可视化常用技巧 | 更文挑战

2.添加图例

使用plt.legend()函数给图表添加图例,添加前需要设置好label(标签)参数,代码如下。

import numpy as np 
import matplotlib.pyploy as plt
 x1 = np.array([1,2,3])
 y1 = x1 + 1
 plt.plot(x1,y1,label='y=x+1')
 y2=x1*2
 plt.plot(x1,y2,color = 'red',linestyle='--',label='y=x*2')
 plt.legend(loc='upper left')
 plt.show()

运行结果如下图所示,可以看到绘制出两条线,并在图表左上角添加了图例。若要修改图例的位置,可以修改loc参数的值,如'upper right'代表右上角,'lower right'代表右下角。

数据可视化常用技巧 | 更文挑战

3.设置双坐标轴

从前面的介绍可知,可以在一张图表里绘制两条线,但如果两条线的取值范围相差较大,那么绘制出的图表效果会不美观,此时需要采用双坐标轴来呈现图表,即为两条线各自绘制y轴。在绘制第1条线的代码之后添加如下代码,即可设置双坐标轴。

plt.twinx()

需要注意的是,如果设置了双坐标轴,那么每绘制一次图表就得添加一次图例,而不能在最后统一添加图例。这里以y=x和y=x2为例,演示如何设置双坐标轴,代码如下

import numpy as np
import matplotlib.pyplot as plt
x1=np.array([10,20,30])
y1=x1
plt.plot(x1,y1,color='red',linestyle='--',label='y=x')
plt.legend(loc='upper left')
plt.twinx()
y2=x1*x1
plt.plot(x1,y2,label='y=x^2')
plt.legend(loc='upper right')
plt.show()

运行结果如下图所示,可以看到左右两条y轴的取值范围相差很大。如果不设置双坐标轴,会导致y=x这条线被压缩得很平,影响数据可视化的效果。

数据可视化常用技巧 | 更文挑战

4.设置图表大小

如果对默认图表大小不满意,可以通过如下代码设置图表大小。

plt.rcParams['figure.figsize']=(8,6)

第1个元素代表长,第2个元素代表宽,这里的数字8和6分别代表800像素和600像素。

5.设置x轴刻度的角度

如果x轴因为刻度内容较多,导致刻度太密,不便于阅读,可以通过设置刻度的角度来进行调节,代码如下。其中45表示45°,可以根据需要更改为其他数值。

plt.xticks(rotation = 45)

6.解决中文显示问题

使用Matplotlib库画图时,默认不能正常显示中文,通过如下代码可解决该问题。由于更改字体会导致显示不出负号“-”,需要将配置文件中的axes.unicode_minus参数设置为False。

import matplotlob.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']= False

7.绘制多图

有时我们需要在一张画布上绘制多个图表,如下图所示。这种效果可以利用Matplotlib库的当前图形(figure)和当前轴(axes)概念来实现,这两个概念对应的就是当前画布及当前子图,在一张画布(figure)上可以绘制多张子图(axes)。绘制多图通常采用subplot()函数或subplots()函数。

数据可视化常用技巧 | 更文挑战

转载自:https://juejin.cn/post/6971226158088077342
评论
请登录