Matplotlib(7)——图片读取,背景绘制等

获取当前图像gca()

感觉主要作用可以使plt方法转化为面相对象方法

  • 方法:
    plt.gca(**kwargs)
  • 实例:
x = np.arange(0,2*np.pi,0.1)
y = x**2

fig = plt.figure()
plt.subplot(211)
plt.plot(x,y)
ax1 = plt.gca()

fig = plt.figure()
plt.subplot(212)
plt.bar(x,y)
ax2 = plt.gca()

ax1.set_title('折线图')
ax2.set_title('柱状图')

读取图片 imread()

  • 方法:
    imread(fname, format=None)

  • 参数:

    • fname:读取图片的路径
    • format:读取图片的格式
  • 实例:
    imread() 方法返回的是一个np.array

fig = plt.figure()
im3 = plt.imread(r'C:\Users\Administrator\Desktop\1.jpg')
print(im3)

Matplotlib(7)——图片读取,背景绘制等

绘制图片 imshow()

  • 方法:
    imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=, filternorm=1, filterrad=4.0, imlim=, resample=None, url=None, *, data=None, **kwargs)
  • 参数:
    • X:用于绘制的图像数组
    • norm:如果使用scalar data,则Normalize会对其进行缩放[0,1]的数据值内。默认情况下,数据范围使用线性缩放映射到颜色条范围。 RGB(A)数据忽略该参数。
    • aspect:每个像素的长宽比,可选{‘equal’,’auto’,‘float’},默认’equal’。
    • alpha:透明度。RGB(A)数据忽略该参数。
    • origin:将数组的[0,0]索引放置在轴的左上角或左下角。可选{‘upper’, ‘lower’}。设置为‘lower’时,相当于翻转了图片。
    • cmap:颜色图谱(colormap), 默认为RGB(A)颜色空间。cmap所有可选值都封装在plt.cm里,输入plt.cm. 然后按tab键就可以查看。常用图谱如下:
      查看cmap可选值
plt.cm.

Matplotlib(7)——图片读取,背景绘制等
常用图谱如下:

颜色图谱 色彩描述
gray 黑白
hot 黑红黄白
pink 黑棕白
magma 黑红白
inferno 黑红黄
copper 黑,肉色
autumn 红橙黄
hsv 红黄绿蓝->红
flag 红白蓝黑
prism 红黄绿
spring 品红,黄
jet 蓝青黄红
winter 蓝绿
  • 实例:

读取图片,并绘制反向图片

fig = plt.figure()
im3 = plt.imread(r'C:\Users\Administrator\Desktop\1.jpg')
plt.imshow(im3,origin = 'lower')
plt.axis('off')

Matplotlib(7)——图片读取,背景绘制等
热力图

import matplotlib.pyplot as plt
X = [[1,2,3],[4,5,6],[7,8,9]]
plt.imshow(X,cmap='hot')
plt.colorbar()  # 显示右边的颜色条

# 设置坐标轴标签
labels = ['a','b','c']
ticks = list(np.arange(len(labels)))

plt.xticks(ticks,labels)
plt.yticks(ticks,labels)

# 设置标签
for i in ticks:
    for j in ticks:
        plt.text(i,j,X[i][j])
plt.show()

Matplotlib(7)——图片读取,背景绘制等

将数组保存为图片 imsave()

  • 方法:
    imsave(fname, arr, **kwargs)
  • 参数:
    • fname:保存路径。
    • arr:表示图片的数组。
    • cmap:颜色图谱(colormap), 默认为RGB(A)颜色空间。
    • vmin, vmax:通过将映射到彩色地图颜色限制的值固定来设置图像的颜色缩放
    • origin:将数组的[0,0]索引放置在轴的左上角或左下角。可选{‘upper’, ‘lower’}。设置为‘lower’时,相当于翻转了图片。
    • dpi:分辨率。
  • 实例:
fig = plt.figure()
im3 = plt.imread(r'C:\Users\Administrator\Desktop\1.jpg')
plt.imsave(r'C:\Users\Administrator\Desktop\5.jpg',im3)

保存图片 savefig()

  • 方法:
    savefig(fname, dpi=None, facecolor=‘w’, edgecolor=‘w’, orientation=‘portrait’, papertype=None, format=None, transparent=False, bbox_inches=None, pad_inches=0.1, frameon=None, metadata=None)

  • 参数:

    • frame:保存路径。
    • dpi:分辨率
    • format:文件格式,常用有:png, jpg, eps, svg, pgf, pdf
  • 注意:
    savefig 应写在 show 函数前面,否则保存的将是show所创建的新空白图片。

  • 实例:

x = np.arange(6)
y = np.arange(6)

plt.barh(x,y*2)
plt.ylim(0)

plt.savefig(r'C:\Users\Administrator\Desktop\1.png')
plt.show()

Matplotlib(7)——图片读取,背景绘制等

关闭图像窗口

  • 方法:
    close(fig=None)
  • 参数:
    • fig:要关闭的图像窗口。
      • None:当前窗口
      • .Figure:给定的图像实例
      • int:图像数字
      • str: 图像名称
      • ‘all’:所有图像
  • 实例:
import matplotlib.pyplot as plt
X = [[1,2,3],[4,5,6],[7,8,9]]
plt.imshow(X,cmap='hot')
plt.close()

绘图样式设置 plt.style.available

通过plt.style.use(样式名)方式,可以对图片的背景模板进行替换。具体模板可通过plt.style.available来进行查看:

  • 实例:
import numpy as np
import matplotlib.pyplot as plt

plt.style.use('dark_background')

x=np.linspace(1,10,num=100)
y=np.sin(x)

plt.figure() 
plt.plot(x,y) 

Matplotlib(7)——图片读取,背景绘制等

  • 背景样式:
    • ‘bmh’
    • ‘classic’
    • ‘dark_background’
    • ‘fast’
    • ‘fivethirtyeight’
    • ‘ggplot’
    • ‘grayscale’
    • ‘seaborn-bright’
    • ‘seaborn-colorblind’
    • ‘seaborn-dark-palette’
    • ‘seaborn-dark’
    • ‘seaborn-darkgrid’
    • ‘seaborn-deep’
    • ‘seaborn-muted’
    • ‘seaborn-notebook’
    • ‘seaborn-paper’
    • ‘seaborn-pastel’
    • ‘seaborn-poster’
    • ‘seaborn-talk’
    • ‘seaborn-ticks’
    • ‘seaborn-white’
    • ‘seaborn-whitegrid’
    • ‘seaborn’
    • ‘Solarize_Light2’
    • ‘tableau-colorblind10’
    • ‘_classic_test’
上一篇:零基础入门推荐系统【数据分析】Task2--记录


下一篇:ubuntu之路——day3(本来打算做pytorch的练习 但是想到前段时间的数据预处理的可视化分析 就先总结一下)