python 画图设置横纵坐标_Python输出高质量论文图片

科研至今十年有余,一直使用MATLAB作图,但是一直觉得MATLAB的线条图的不够优美,特别是线型的短板极大的限制了作图的灵活性。

MATLAB只有默认的四种线型,而且输出效果比较呆板。最近在一篇文章的写作中,一个五种工况的图频繁出现,既不想改变线宽,也不想使用标记。偶闻Python的作图效果也极其强大,因此抽出一点时间练习了一下,果然功能强大,而且效果极佳。

代码和出图效果如下:

import matplotlib.pyplot as plt #调用matplotlib

plt.rc('font',family='Times New Roman')  #定义字体

plt.figure(figsize=(7,5.5))    #设置图片大小

font1 = {'family' : 'Times New Roman',

'weight' : 'normal',

'size'   : 16,

}

import numpy as np      #画图过程中会使用numpy

x=np.linspace(0,1,51)  #定义x数据范围

filename = 'data.txt'  #数据存在txt文件中,5列

Y1,Y2,Y3,Y4,Y5 = [],[],[],[],[]  #读入数据

with open(filename, 'r') as f:#1

    lines = f.readlines()#2

    for line in lines:#3

        value = [float(s) for s in line.split()]#4

        Y1.append(value[0]) 

        Y2.append(value[1]) 

        Y3.append(value[2]) 

        Y4.append(value[3]) 

        Y5.append(value[4])   #至此,数据储存完毕

plt.xticks(fontsize=14)       #设置坐标轴刻度字号

plt.yticks(fontsize=14)

plt.plot(x,Y1,linewidth=2,color='r')    #画图,第一条线,线宽为2,颜色用color设置

plt.plot(x,Y2,'-.',linewidth=2)

plt.plot(x,Y3,'--',linewidth=2)

plt.plot(x,Y4,':',linewidth=2)

plt.plot(x,Y5,dashes=[8, 3],linewidth=2) #画图,第五条线,线型通过[8,3]修改

plt.ylim(-0.001,0.01)                     #纵坐标范围

plt.xlim(0,0.65)                          #横坐标范围

plt.title(r"$\beta_x=\beta_y=0.05$",font1) #标题

plt.xlabel("Wave number q",font1)          #x轴名称

plt.ylabel(r"Growth rate $\sigma$(q)",font1)    #y轴名称

plt.legend([r"$\beta_i=0$",r"$\beta_i=0.025$",r"$\beta_i=0.05$",r"$\beta_i=0.075$",r"$\beta_i=0.1$"],fontsize=14,edgecolor="black") #设置标注

foo_fig=plt.gcf()

foo_fig.savefig('figure1.eps',format='eps',dpi=1000)  #存储为eps格式,分辨率100dpi

plt.show()

64a75401368eb2a12d8015c4be9866e7.png


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部