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总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
