首页 > 编程知识 正文

布局常用的颜色,开线的颜色调整

时间:2023-05-04 11:10:34 阅读:228531 作者:809

4.设置线型风格
4.1.设置线型风格
5.区域着色 (Shading Regions)
6.设置Spines

4.设置线型风格 4.1.设置线型风格


可以使用绘图函数的linestyle或ls参数来影响绘图的线型风格。
可以使用linewidth来设置一条线的宽度。

import matplotlib.pyplot as pltimport numpy as npX = np.linspace(0, 2 * np.pi, 50, endpoint=True)F1 = 3 * np.sin(X)F2 = np.sin(2*X)F3 = 0.3 * np.sin(X)F4 = np.cos(X)plt.plot(X, F1, color="blue", linewidth=2.5, linestyle="-")plt.plot(X, F2, color="red", linewidth=1.5, linestyle="--")# plt.plot(X, F3, color="green", linewidth=2, linestyle=":")# (0,(5,1))即:densely dashedplt.plot(X, F3, color="green", linewidth=2, linestyle=(0,(5,1)))plt.plot(X, F4, color="grey", linewidth=2, linestyle="-.")plt.show()

5.区域着色 (Shading Regions)

可以对两条曲线之间的区域进行着色。 在以下示例中,我们填充X轴和sin(2*X) 图之间的区域:

import numpy as npimport matplotlib.pyplot as pltn = 256X = np.linspace(-np.pi,np.pi,n,endpoint=True)Y = np.sin(2*X)plt.plot(X, Y, color='blue', alpha=1.00)# plt.fill_between(X, 0.1, 0.75, color='blue', alpha=.1)plt.fill_between(X, 0.1, Y, color='blue', alpha=.1)plt.show()


fill_between的一般语法:
fill_between(x, y1, y2=0, where=None, interpolate=False, **kwargs)

fill_between的参数:
x x数据的N长度数组
y1 y数据的N长度数组(或标量)
y2 y数据的N长度数组(或标量)
where 如果是None,则默认在所有位置之间填充。 如果不是None,则它是一个N长度的numpy布尔数组,并且填充只会在where == True的区域上发生。
interpolate 如果为True,则在两条线之间进行插值以找到精确的交点。否则,填充区域的起点和终点将仅出现在x数组中的显式值上。
kwargs传递给PolyCollection

import numpy as npimport matplotlib.pyplot as pltn = 256X = np.linspace(-np.pi,np.pi,n,endpoint=True)Y = np.sin(2*X)plt.plot (X, Y, color='blue', alpha=1.00)plt.fill_between(X, Y, 1, color='blue', alpha=.1)plt.show()

6.设置Spines

matplotlib中的连接轴刻度标记并指示数据区域边界的线。
(Spines in matplotlib are the lines connecting the axis tick marks and noting the boundaries of the data area.)
我们将在下面展示spines可以放置在任意位置。
我们用到了gca函数,它返回figure上个当前的axes实例。

Spines就是图的上面和右边的边线。

import numpy as npimport matplotlib.pyplot as pltX = np.linspace(-2 * np.pi, 2 * np.pi, 70, endpoint=True)F1 = np.sin(2* X)F2 = (2*X**5 + 4*X**4 - 4.8*X**3 + 1.2*X**2 + X + 1)*np.exp(-X**2)# get the current axes, creating them if necessary:ax = plt.gca()# making the top and right spine invisible:ax.spines['top'].set_color('red')ax.spines['right'].set_color('green')# moving bottom spine up to y=0 position:ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data',-0.5))# moving left spine to the right to position x == 0:ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',-2.1))plt.plot(X, F1)plt.plot(X, F2)plt.show()

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。