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