python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python将绘制的图片保存为矢量图格式

python如何将绘制的图片保存为矢量图格式(svg)

作者:简朴-ocean

这篇文章主要介绍了python如何将绘制的图片保存为矢量图格式(svg)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

将绘制好的的图片保存输入文件夹

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
path='H:'#图片输出路径
fig=plt.figure()#创建画板
ax=fig.add_subplot()
x1 = np.linspace(0, 10, 50)
y1 =(x1*x1)
ax.plot(x1,y1,label='y=x$^2$')
ax.legend()#添加图例
fig.savefig(path+'输出图片.svg',format='svg',dpi=150)#输出

其中,format表示输出图片的类型,可以为tiff、jpg、png等格式,按需选择;dpi为像素大小,dpi越大,图片越清晰,占用内存也越大。

tips:svg是矢量图格式,在插入word中裁剪放大缩小的时候清晰度基本不会改变,且色彩不失真。

输出后在你定义的路径下即可找到

在这里插入图片描述

在这里插入图片描述

python将图片转为矢量图

import numpy as np
import matplotlib.pyplot as plt
import cv2
fig, ax = plt.subplots()
plt.figure(1)
image=cv2.imread("2.jpg")
# you can specify the marker size two ways directly:
# 这样一个一个像素太慢了故而要将同样颜色的坐标进行分类处理
color_class=[]
x_y=dict()
for x,w in enumerate(image):
    for y,colors in enumerate(w):
        if colors.tolist() not in color_class:
            s=image[:, :, :1] == colors[0]
            s1=image[:, :, 1:2] == colors[1]
            s2=image[:, :, 2:3] == colors[2]
            ss=s*s1*s2
            color_class.append(colors.tolist())
            x_y[len(color_class)]=np.where(ss.reshape((ss.shape[0],ss.shape[1])))
        print(x,y)
for i ,colors in enumerate(color_class):
    a, b = x_y[i + 1]
    plt.plot(a,b, ".",color=[colors[2]/255,colors[1]/255,colors[0]/255], markersize=1, label='a')  # blue circle with size 20
fig.savefig('scatter.svg', dpi=200, format='svg')
if __name__ == '__main__':
    pass

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文