引言

新的一年就要过去,对于临近毕业的同学来说,论文是接下来需要解决的最重要的问题,在论文中不免需要用到图来辅助论文阐述。当我们在投稿期刊或者会议的时候,往往对于图片的格式还另有要求。比如会要求必须是矢量图,会对论文中各个部分的字体有限定。本节博客将带大家看看使用python绘制论文图的时候的一些需要注意的点,以及讲述自己在用python原点在图片中心的数据图的绘制过程。

matplotlib

一、矢量图

对于python绘图来说,一定绕不开的就是matplotlib这个模块。

首先对于矢量图来说,在matplotlib下我们可以进行的操作有:

1、直接保存为svg

plt.savefig('sandiantu.svg',format='svg')

2、保存为svg格式后,通过visio转换成word可插入的emf等格式

二、字体

matplot的字体是通过查看一个字典中键-值确定的,这个字典可以通过编程的方式动态设置,具体参见这个rcparams参数

在我的实验中,我的设置如下:

plt.rcParams['font.family'] = 'Times New Roman'
plt.rcParams['axes.unicode_minus'] = False   
plt.rcParams['mathtext.fontset']='custom'
plt.rcParams['mathtext.it']='Times New Roman:italic'

首先第一句话,是设置整个绘图时文本的字体,第二个语句是设置负号显示,第三个语句是不采用自带的tex设置(包括字体,是否加粗等),这一项是专门针对数学公式而言。

这句话的意思是,设置数学公式中使用\mathit{}内的内容为斜体,同时使设置生效,也就是:italic。这里需要注意,当设置公式的时候,将数学公式部分防止在r$...$内。

三、中心坐标

ax=plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0.355))   #设置为(0,0)显示

这句话设置完成后,可以将坐标原点设置在.0355,0处

四、绘制圆

theta = np.linspace(0, 2 * np.pi, 200)
x = 0.00635*np.cos(theta)+0.355
y = 0.00635*np.sin(theta)
ax.plot(x, y, color="darkred", linewidth=1)
ax.axis("equal")

最终的结果就是这样

完整代码私聊我。

May the force be with you!