使用Python复现论文中的美图。
示例1
"""
Copyright.
Time: 2023.4.27
Author: Xu Rton
Description: Drawing line graphs in paper.
"""
import matplotlib.pyplot as plt
import numpy as np
plt.rc('font',family='Times New Roman')
data1 = [58,20,38,17,16,8,16,8]
data2 = [5,41,23,51,2,10,8,11]
data3 = [30,50,12,25,23,22,23,20]
data4 = [40,10,20,3,10,30,20,30]
fig,ax = plt.subplots()
index = np.arange(1,len(data1)+1,dtype=np.int32)
ax.set_xlim(0,8)
ax.set_ylim(0,60)
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.spines['bottom'].set_linewidth(2)
ax.spines['left'].set_linewidth(2)
linewidth = 2
markersize = 6
ax.plot(index,data1,c='navy',marker='v',linewidth=linewidth,markersize=markersize,label='Sample-1')
ax.plot(index,data2,c='gold',marker='o',linewidth=linewidth,markersize=markersize,label='Sample-2')
ax.plot(index,data3,c='firebrick',marker='^',linewidth=linewidth,markersize=markersize,label='Sample-3')
ax.plot(index,data4,c='olivedrab',marker='s',linewidth=linewidth,markersize=markersize,label='Sample-4')
ax.tick_params(labelsize=12)
ax.grid(axis='y',ls='--')
ax.set_yticks([0,20,40,60],[str(i) for i in [0,20,40,60]])
ax.legend(fontsize=10,edgecolor='black')
ax.set_xlabel('X',fontsize=13)
ax.set_ylabel('Y',fontsize=13)
ax.set_title('Title',fontsize=12,fontweight='bold')
#plt.savefig()
plt.show()
示例2
"""
Copyright.
Time: 2023.4.27
Author: Xu Rton
Description: Drawing line graphs in paper.
"""
import matplotlib.pyplot as plt
import numpy as np
plt.rc('font',family='Times New Roman')
data1 = [0.8,0.49,0.2,0]
data2 = [1.0,0.8,0.6,0.2]
data3 = [1.0,1.0,0.8,0.38]
data4 = [0.8,0.65,0.5,0]
data5 = [1,1,0.8,0.4]
data6 = [1,1,1,0.65]
fig,(ax1,ax2) = plt.subplots(1,2)
index = np.arange(1,5,dtype=np.int32)
ls_w = 2
markersize = 5
ax1.plot(index,data1,linewidth=ls_w,marker='o',c='darkgoldenrod',markersize=markersize)
ax1.plot(index,data2,linewidth=ls_w,marker='s',c='darkgreen',markersize=markersize)
ax1.plot(index,data3,linewidth=ls_w,marker='^',c='slategrey',markersize=markersize)
ax2.plot(index,data4,linewidth=ls_w,marker='o',c='darkgoldenrod',markersize=markersize)
ax2.plot(index,data5,linewidth=ls_w,marker='s',c='darkgreen',markersize=markersize)
ax2.plot(index,data6,linewidth=ls_w,marker='^',c='slategrey',markersize=markersize)
ax1.set_title('Title 1',fontweight='bold')
ax2.set_title('Title 2',fontweight='bold')
def tran_ax(ax):
ax.set_xlim(0.4,4.5)
ax.set_ylim(0,1.3)
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.spines['bottom'].set_linewidth(2)
ax.spines['left'].set_linewidth(2)
ax.set_xticks([1,2,3,4],[str(i) for i in [1,2,3,4]])
ax.set_yticks([0,0.5,1],['0','0.5','1.0'])
ax.tick_params(labelsize=13)
ax.set_xlabel('X axis',fontsize=13,fontweight='bold')
ax.set_ylabel('Y axis',fontsize=13,fontweight='bold')
tran_ax(ax1)
tran_ax(ax2)
fig.tight_layout()
#plt.savefig()
plt.show()
示例3
import matplotlib.pyplot as plt
import numpy as np
plt.rc('font',family='Times New Roman')
data1 = [0.8,0.49,0.2,0]
data2 = [1.0,0.8,0.6,0.2]
data3 = [1.0,1.0,0.8,0.38]
data4 = [0.8,0.65,0.5,0]
data5 = [1,1,0.8,0.4]
data6 = [1,1,1,0.65]
ls_w = 2
markersize = 5
fig,(ax1,ax2) = plt.subplots(1,2)
index = np.arange(1,5,dtype=np.int32)
ax1.plot(index,data1,linewidth=ls_w,marker='o',c='darkgoldenrod',markersize=markersize,label='Sample 1')
ax1.plot(index,data2,linewidth=ls_w,marker='s',c='darkgreen',markersize=markersize,label='Sample 2')
ax1.plot(index,data3,linewidth=ls_w,marker='^',c='slategrey',markersize=markersize,label='Sample 3')
ax2.plot(index,data4,linewidth=ls_w,marker='o',c='darkgoldenrod',markersize=markersize,label='Sample 1')
ax2.plot(index,data5,linewidth=ls_w,marker='s',c='darkgreen',markersize=markersize,label='Sample 2')
ax2.plot(index,data6,linewidth=ls_w,marker='^',c='slategrey',markersize=markersize,label='Sample 3')
def tran_ax(ax):
ax.set_xlim(0.4,4.5)
ax.set_ylim(0,1.3)
ax.spines['right'].set_linewidth(2)
ax.spines['top'].set_linewidth(2)
ax.spines['bottom'].set_linewidth(2)
ax.spines['left'].set_linewidth(2)
ax.set_xticks([1,2,3,4],[str(i) for i in [1,2,3,4]])
ax.set_yticks([0,0.5,1],['0','0.5','1.0'])
ax.tick_params(labelsize=13,direction='in',top=True,right=True)
ax.set_xlabel('X axis',fontsize=13,fontweight='bold')
ax1.legend(bbox_to_anchor=(1.05,0.6),loc=2,borderaxespad=0,fontsize=13,edgecolor='black')
ax1.set_ylabel('Y axis',fontsize=13,fontweight='bold')
tran_ax(ax1)
tran_ax(ax2)
fig.tight_layout()
#plt.savefig()
plt.show()