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()

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