draw figure

MD-RMSD变化曲线

  • import matplotlib.pyplot as plt
  • import pandas as pd
  • import numpy as np


  • plt.rcParams['font.sans-serif'] = ['SimHei']  #解决中文显示乱码问题
  • plt.rcParams['font.family'] = 'sans-serif' #设置字体格式
  • plt.rcParams['axes.unicode_minus'] = False

  • #读文件
  • data = pd.read_csv('C:\Users\zzy\Desktop\rmsd.csv')

  • xdata = data.loc[:, data.loc'#Frame'] #横坐标 时间是列名
  • # y1data = data.loc[:, '列名1'] #多条曲线的y值 参数名为csv的列名
  • ydata = data.loc[:, 'RMSD']

  • # color可自定义折线颜色,marker可自定义点形状,label为折线标注
  • # plt.plot(xdata, y1data, color='r', label=u'1路')#点标记,红色
  • plt.plot(xdata, ydata, color='b')#星形标记,蓝色
  •     
  • plt.title(u"trip13 200ns", size=10)  #曲线标题
  • #其中参数loc用于设置legend的位置,bbox_to_anchor用于在bbox_transform坐标(默认轴坐标)中为图例指定任意位置。
  • plt.legend(loc=1, bbox_to_anchor=(1.0,1.0),borderaxespad = 0)
  • plt.xlabel(u'Frame', size=10)
  • #设置x轴标签旋转角度和字体大小
  • plt.xticks(rotation=10, fontsize=8)
  • plt.ylabel(u'RMSD', size=10)
  • plt.gca().xaxis.set_major_locator(ticker.MultipleLocator(500))# 设置横坐标间隔(每隔80个横坐标显示一个横坐标,解决横坐标显示重叠问题)

  • #绘制曲线最大最小值
  • max1_indx=np.argmax(ydata)#找出曲线1的最大值下标
  • min1_indx=np.argmin(ydata)#最小值下标
  • plt.plot(max1_indx,ydata[max1_indx],'ks')
  • plt.plot(min1_indx,ydata[min1_indx],'gs')
  •  
  • plt.show()