背景颜色问题
一.前言
在进行数据可视化的过程中,通常会遇到更改北京颜色的问题,今天我们来一起研究一下在matploltlib中一个画布的颜色更改。
二.解决方案
matplotlib的一个画布由一个figure
和axes
组成。
2.1更改figure颜色
每一个Figure
对象都有一个patch
属性 ,存储他的北京Rectangle
对象,获取到关联Rectangle
对象后使用set_color()
方法设置背景颜色。
import matplotlib.pyplot as plt
figure, ax = plt.subplots(1, 1)
patch = figure.patch
patch.set_color("red")
plt.show()
更改效果:
2.2更改axes背景颜色
同理,每一个Axes
对象也都关联着一个Rectangle
对象,使用相同的方法更改背景颜色。代码如下:
import matplotlib.pyplot as plt
import numpy as np
figure, ax = plt.subplots(1, 1)
patch = ax.patch
patch.set_color("blue")
plt.show()
效果如下:
2.3进阶-背景使用渐变色
背景颜色不光能使用纯色也可以说使用渐变色,它实现的原理是使用imshow
方法在背景上绘制渐变色背景,并修改他的透明度,这样就可以在渐变色背景上进行绘图了。但是要注意如果背景透明度太大对实际绘图会有很大的影响。
import matplotlib.pyplot as plt
import numpy as np
figure, ax = plt.subplots(1, 1)
patch = ax.patch
patch.set_color("blue")
x = np.arange(200)
y = np.arange(200)
_, yv = np.meshgrid(x, y)
im = ax.imshow(yv, interpolation='bicubic',cmap="PuOr",
vmin=0, vmax=200, alpha=0.5)
plt.plot([1, 100], [30, 150], color='k')
plt.show()
效果如下: