最近忙着写大论文,用Python画论文里一个示意图,效果还不错,顺便总结一下。
一,直接上代码
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#matplotlib画图中中文显示会有问题,需要这两行设置默认字体
plt.xlabel('X')
plt.ylabel('Y')
plt.xlim(xmax=9,xmin=0)
plt.ylim(ymax=9,ymin=0)
#画两条(0-9)的坐标轴并设置轴标签x,y
x1 = np.random.normal(2,1.2,300) # 随机产生300个平均值为2,方差为1.2的浮点数,即第一簇点的x轴坐标
y1 = np.random.normal(2,1.2,300) # 随机产生300个平均值为2,方差为1.2的浮点数,即第一簇点的y轴坐标
x2 = np.random.normal(7.5,1.2,300)
y2 = np.random.normal(7.5,1.2,300)
colors1 = '#00CED1' #点的颜色
colors2 = '#DC143C'
area = np.pi * 4**2 # 点面积
# 画散点图
plt.scatter(x1, y1, s=area, c=colors1, alpha=0.4, label='类别A')
plt.scatter(x2, y2, s=area, c=colors2, alpha=0.4, label='类别B')
plt.plot([0,9.5],[9.5,0],linewidth = '0.5',color='#000000')
plt.legend()
plt.savefig(r'C:\Users\jichao\Desktop\大论文\12345svm.png', dpi=300)
plt.show()
二,效果
画出来的效果我个人还是挺满意的,好看!
三,代码分析
上图用到的主要就是matplotlib.pyplot模块下的一些函数,更多关于matplotlib库的知识还是直接看官方文档比较好:https://matplotlib.org/index.html
1,rcParams
rcParams用来设置画图时的一些基本参数
2,scatter
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, al