1)本文的绘图借助于Matplotlib这样一个广泛使用的Python绘图库,可以创建各种类型的静态、动态和交互式图表。而Pyplot是Matplotlib中的一个子模块,使得图形绘制更加简单方便。Pyplot提供许多简单的函数来创建各种类型的图表,像是折线图、散点图等。使用Pyplot绘图之前通常需要导入Pyplot库:
importmatplotlib.pyplotasplt2)在绘图之前,我们通常也会调用Pandas这一开源的Python数据分析库,用于处理和分析具有标签的数据,使得数据的分析,筛选等操作更加简单和高效。同样在使用之前我们需要导入Pandas库:
importpandasaspd3)此外,我们还会借助NumPy库完成快速的数值计算和数组操作,同样同样在使用之前需要导入Numpy库:
三、绘图
data=pd.read_csv('1016_F2a.csv')通过Pandas库调用read_csv()函数将CSV文件('1016_F2a.csv')读入到名为data的DataFrame对象中,以便后续的数据处理和分析。
2)在绘制之前,我们通常会借助于Pyplot库中的figure()函数帮助我们创建一个新的图形窗口,如下所示:
fig=plt.figure(figsize=(6,4),dpi=100)这里创建了名为fig的图形窗口,其中figsize()为图形的尺寸(以元组表示,第一个元素为宽度,第二个元素为高度,单位为英寸),dpi为图形的分辨率。除此之外还有如下参数:
num:指定图形ID号,若存在则激活图形
facecolor:指定图形的背景颜色;
edgecolor:指定图形边框的颜色;
frameon:指定是否显示图形边框;
subplotpars:指定子图的布局参数;
tight_layout:是否自动调整子图布局,以避免溢出和重叠;
3)接下来为我们图表的横、纵坐标选择对应的数据,这里借助于Pandas库中的loc[]函数对前文提到的数据进行检索(基于标签的方式),基本用法如下所示:
xdata=data.loc[:,'Numberoftablestages(d)']y1data=data.loc[:,'FalseNegative(k=140)']y2data=data.loc[:,'FalseNegative(k=210)']y3data=data.loc[:,'FalseNegative(k=350)']y4data=data.loc[:,'FalseNegative(k=420)']其中'xdata'为横坐标数据,对应data中的Numberoftablestages(d)列;y1data为第一个纵坐标数据,对应data中FalseNegative(k=140)列,以此类推...
需要注意loc[row_indexer,column_indexer]中分别利用row_indexer,column_indexer进行行索引和列索引。这里':'表示选取的所有行。
4)横、纵坐标有了数据,那自然少不了自身的刻画,像是坐标轴范围、刻度等等,如下所示:
plt.xlim((2,8))plt.ylim((0,30))xlim()和ylim()分别设置X轴和Y轴的的坐标范围,其中(2,8)表明X轴的范围设置为2到8,同理Y轴的范围设置为0到30。
my_x_ticks=np.arange(2,9,1)my_y_ticks=np.arange(0,35,5)plt.xticks(my_x_ticks,size=12)plt.yticks(my_y_ticks,size=12)对于坐标轴的刻度描述,这里借助于Numpy库中的arange()函数,可以指定起始值、终止值(不包含)、步长等参数。
之后借助于Pyplot中的xticks()和yticks()函数完成刻度的描述,其参数如下所示:
ticks:设置刻度标签,如my_x_ticks。
size:设置标签字体大小。
plt.tick_params(direction='in',top=True,bottom=True,left=True,right=True)这里借助于tick_params()设置坐标轴刻度线的方向以及那些刻度需要绘制
direction:刻画刻度线和刻度标签的方向
in:刻度线和标签绘制在坐标轴内部;
out:刻度线和标签绘制在坐标轴外部;
inout:刻度线绘制在坐标轴内部,标签绘制在外部;
default:刻度线绘制在坐标轴内部,标签绘制在外部
top、bottom、left、right:取值为"True"或"False",表明是否需要绘制上、下、左、右四个方向的刻度
5)接下来就是对于数据的可视化操作--画图
xdata:X轴上的数据;
ydata:Y轴上的数据;
marker:表示线条上的标记形状,如"s"表示正方形等;
markerfacecolor:表示标记的填充颜色;(字符串颜色,如'red'、'blue';十六进制RGB颜色码,如'#FF0000';RGB元组,如'(1,0,0)')
color:表示线条颜色;
linestyle:线条样式,如"--"表示虚线,"-"表示实线;
label:线条标签,用以区分不同的线条;之后我们需要调用Pyplot中legend()函数来创建图例,以显示设置的标签。如下所示:
plt.legend()linewidth:线条宽度。
plt.xlabel(u'Numberoftablestages(d)',size=14)plt.ylabel(u'FalseNegative(%)',size=14)这里分别利用xlabel()和ylabel()函数设置x和y的名称,这里的'u'表示Unicode编码,即支持中文字符的显示,而size参数用于设置文本的大小。
7)当利用Python脚本刻画图表时,不要忘记如下命令:
plt.show()利用Python脚本时,一定要调用该函数才能显示图像,而在交互模式(如在JupyterNotebook或IPythonshell中)下则不需要使用这个命令
8)若是需要保存绘制的图表,则需要调用如下命令:
plt.savefig('F2(a).png')也就是利用savefig()函数帮助我们将图表保存为指定文件(F2(a).png)以便后续的访问,同时savefig()函数也支持其他的输出格式,如PDF、SVG、EPS等。