Bootstrap

day05-matplotlit设置图形各种参数

matplotlib网格

1. 显示网格:plt.grid()

plt.grid(True, linestyle = "--",color = "gray", linewidth = "0.5",axis = 'x')
  • 显示网格
  • linestyle:线型,“–”:表示网格是虚线,默认为实线
  • color:网格颜色
  • linewidth:宽度
  • axis:x,y,both,显示x/y/两者的格网
x = np.linspace(-np.pi,np.pi,256,endpoint = True)
c, s = np.cos(x), np.sin(x)
plt.plot(x, c)
plt.plot(x, s)
# 通过ndarry创建图表
#plt.grid(True, linestyle = "--",color = "gray", linewidth = "0.5",axis = 'both')
plt.grid(True,linestyle="--")
# 显示网格
# linestyle:线型
# color:颜色
# linewidth:宽度  (lw)
# axis:x,y,both,显示x/y/两者的格网

在这里插入图片描述

2. plt.gca( ) 对坐标轴的操作

首先观察画布上面的坐标轴,如下图

在这里插入图片描述

上图中,用红色标识出的黑色边界框线在Matplotlib中被称为spines,中文翻译为脊柱…在我理解看来,意思是这些边界框线是坐标轴区域的“支柱”。

那么,我们最终要挪动的其实就是这四个“支柱”

且所有的操作均在plt.gca( )中完成,gca就是get current axes的意思

接下来需要绘制图如下:

在这里插入图片描述

  • 获取当前坐标轴位置并移动
# 创建x轴数据
x = np.arange(-50,51)
# 创建y轴的数据,他是x的平方
y = x ** 2
plt.plot(x, y)

在这里插入图片描述

x = np.arange(-50,51)
y = x ** 2
# 获取当前坐标轴
ax = plt.gca()
# 通过坐标轴spines,确定 top, bottom, left, right (分别表示上,下,左和右)

# 不需要右侧和上侧线条,则可以设置他的颜色
ax.spines['right'].set_color("none")
ax.spines['top'].set_color("none")

在这里插入图片描述

# 移动下轴到指定位置
# 在这里,position位置参数有三种,data , outward(向外-可自行尝试) , axes
# axes:0.0 - 1.0之间的值,整个轴上的比例
#ax.spines['left'].set_position(('data',0.0))
ax.spines['left'].set_position(('axes',0.5))  #0-1范围   0.5——>50%
# 移动下轴到指定位置
# 'data'表示按数值挪动,其后数字代表挪动到Y轴的刻度值
#ax.spines['bottom'].set_position(('data',0.0))

#设置坐标区间:
plt.ylim(0, y.max()) # 设置轴取值范围
plt.plot(x, y)

在这里插入图片描述

3. plt.rcParams设置画图的分辨率,大小等信息

  • plt.rcParams[‘figure.figsize’] = (8.0, 4.0) # 设置figure_size英寸
  • plt.rcParams[‘figure.dpi’] = 300 #分辨率
    • 默认的像素:[6.0,4.0],分辨率为72,图片尺寸为 432x288
    • 指定dpi=100,图片尺寸为 600*400
    • 指定dpi=300,图片尺寸为 1800*1200
plt.rcParams['figure.figsize'] = (6.0, 4.0)
plt.plot()
# 指定dpi=100,图片尺寸为 600*400
plt.rcParams['figure.dpi'] = 100
#值越大越清晰

4.图表的样式参数设置

  • (1).线条样式

    传入x,y,通过plot画图,并设置折线颜色、透明度、折线样式和折线宽度 标记点、标记点大小、标记点边颜色、标记点边宽,网格

    plt.plot(x,y,color='red',
    alpha=0.3,
    linestyle='',
    linewidth=5,
    marker='o',
    markeredgecolor='r',
    markersize='20',
    markeredgewidth=10)
    
  • 1). color:可以使用颜色的16进制,也可以使用线条颜色的英文,还可是使用之前的缩写

字符颜色英文全称
‘b’蓝色blue
‘g’绿色green
’ r ’红色red
’ c ’青色cyan
’ m ’品红magenta
’ y ’黄色yellow
’ k ’黑色black
’ w ’白色white

颜色参考地址:http://tools.jb51.net/color/jPicker

  • 2). alpha: 0-1,透明度
  • 3). linestyle:折线样式
字符描述
‘-’实线
‘–’虚线
‘-.’点划线
‘:’虚线
  • 3). marker标记点:
标记符号描述
‘.’点标记
‘o’圆圈标记
‘x’'X’标记
‘D’钻石标记
‘H’六角标记
‘s’正方形标记
‘+’加号标记
x= np.arange(0, 100,10)
y= x ** 2
"""linewidth 设置线条粗细
   label 设置线条标签
   color 设置线条颜色
   linestyle 设置线条形状
   marker 设置线条样点标记
"""
plt.plot(x, y, linewidth = '2', label = "test", color='b', linestyle='--', marker='H')
plt.legend(loc='upper left')

在这里插入图片描述

(2).线条样式缩写
# 颜色 标记 样式
plt.plot([1,2,3],[4,7,6],'r*-.')
plt.plot([2,4,5],[3,8,7],'m+--')

在这里插入图片描述

plt.rcParams['figure.figsize']=(8,4)
#不同种类不同颜色的线
#不同种类不同颜色的线并添加图例
x=np.linspace(0,10,100)

plt.plot(x,x+0, '-g', label='-g')    #实线  绿色

plt.plot(x,x+1, '--c', label='--c')   #虚线 浅蓝色

plt.plot(x,x+2, '-.k', label='-.k')   #点划线 黑色

plt.plot(x,x+3, '-r', label='-r')    #实线  红色

plt.plot(x,x+4, 'o', label='o')     #点   默认是蓝色

plt.plot(x,x+5, 'x', label='x')     #叉叉  默认是蓝色

plt.plot(x,x+6, 'dr', label='dr')    #砖石  红色

#添加图例右下角lower right  透明度  阴影  边框宽度
plt.legend(loc='lower right',framealpha=0.5,shadow=True, borderpad=0.5)

在这里插入图片描述

;