Matplotlib作图(一)

作为python中的首选画图工具,matplotlib包提供了很多图表样式。本文主要集中于一个图的组成元素,包括点、线、坐标轴、图例等。

对于一个点,我们主要关心的是其颜色、大小、形状等属性。不同图样的输入参数不同,需要参考具体函数文档。

  •  c和 edgecolors   c代表点表面的颜色,edgecolors代表边缘颜色,主要有红'r'、蓝'b'、绿'g'、黑'k'等。完整的颜色表可以参考https://www.cnblogs.com/darkknightzh/p/6117528.html。
  •  marker    代表点的形状,主要有圆'o'、三角'v^<>'(尖角的方向即为三角头的方向)、加号'+'等等。
  •  makersize和edgewidth   代表点的大小与边的粗细

线

线主要关注颜色、粗细与样式等

  • linestyle     线的样式,包括实线、点线、虚线、虚点线等等,分别对应于`'-'`、`':'`、`'--'`、`'-.'`。
  • linewidth    粗细,单位为point
  • color   颜色

坐标轴

以x轴上的标注为例

  • plt.xlabel( )     对坐标轴的描述,包括字体(fontsize)等参数
  • plt.xlim( )       限制坐标的展示范围,输入两个数作为展示区间,或者用left或right参数单独指定
  • plt.xtick( )      指定坐标轴上刻度线的内容,ticks和labels(可选)分别指定位置和内容

标注

  • plt.legend( )    添加图例,用以展示各个图像的标注。

 

下面为一段描绘散点图的代码以及呈现的图样

 1 import numpy as np
 2 import matplotlib.pyplot as plt
 3 
 4 down = [1500, 3500, 5500, 7500]
 5 up = [2500, 4500, 6500, 8500]
 6 sample_amount = [450, 2000, 4000, 6000, 8000]
 7 marker = ['o', '+', '^', 'v']
 8 edgecolors = 'brgk'
 9 c = 'wrww'
10 
11 
12 for i in range(4):
13     foo = np.load('data/dist_area/dist_area_{}.npz'.format(sample_amount[i]))
14     dist_data = foo['dist_data']
15     area_data = foo['area_data']
16     slope, intercept, r_value, p_value, std_err = linregress(dist_data, area_data)
17     print(slope, intercept, r_value, p_value, std_err)
18     plt.scatter(dist_data, area_data, c=c[i], marker=marker[i], edgecolors=edgecolors[i],
19                 label='[{}, {}]'.format(down[i], up[i]))
20 
21 
22 plt.xticks(fontsize='xx-large')
23 plt.yticks(fontsize='xx-large')
24 plt.xlabel('average minimum distance', fontsize='xx-large')
25 plt.ylabel('average area', fontsize='xx-large')
26 plt.legend(fontsize='xx-large')
27 plt.show()

 

posted @ 2019-11-11 16:17  Hosokawa  阅读(167)  评论(0)    收藏  举报