简单的折线图

导入函数并指定别名plt

import matplotlib.pyplot as plt

squares = [1,4,9,16,25,36]

将一个列表传递给plot参数

plt.plot(squares)

绘制

plt.show()

优化

设置线宽度

plt.plot(squares, linewidth= 5)

设置标题

plt.title("Square", fontsize=25)

设置横纵坐标标签

plt.xlabel("Value", fontsize=14) #横坐标
plt.ylabel("Square of Value", fontsize=14) # 纵坐标

设置横纵坐标数值大小

plt.tick_params(axis="both", which='major', labelsize=14)

axis="both"代表影响X,Y坐标的值,both可以换成xy即影仅影响xy;labelsize=14表示刻度字号

which一共3个参数['major' , 'minor','both']

默认是major表示主刻度,后面分布为次刻度及主次刻度都显示。

可省略成plt.tick_params(labelsize=14)

校正图像

当我们向plot()提供一系列数字时,它会假设第一个数据点对应的x值是0,为了改变这种行为,我们可以给plot()同时提供输入值和输出值

inputValue = [1,2,3,4,5,6]
outputValue = [1,4,9,16,25,36]
plt.plot(inputValue, outputValue, linewithe=5)

散点图

简单的绘出

如果我们要绘制散点图,我们可以用scatter()函数,我们需要向他传递一对x,y坐标

import matplotlib.pyplot as plt

plt.scatter(2,2)
plt.show()

设置样式

plt.scatter(2,2, s=200)

s=200代表点的大小

再设置上标题和刻度大小

plt.title("A point", fontsize=25)
plt.xlabel("X", fontsize=14) #横坐标
plt.ylabel("Y", fontsize=14) # 纵坐标
plt.tick_params(axis="both", labelsize=14)

绘制多个点

首先定义两个列表,其值分别是x和y的坐标点

x = [1,2,3,4,5,6]
y = [1,4,9,16,25,36]
plt.scatter(x,y, s=100)

设置点的颜色

plt.scatter(x,y, s=100, c='red', edgecolor='blue') #A
plt.scatter(x,y, s=100, c=(0, 0, 0.8), edgecolor='none') #B

c=代表点的颜色,后面可以直接加颜色,也可以使用一个RGB元组,不过这个元组的范围是0~1数值越接近0颜色越深,越接近1颜色越浅

edgecolor=代表点的轮廓颜色,后值参考上一段

设置坐标轴取值范围

plt.axis([0, 1100, 0, 11000])

[x轴开始值,x轴结束值,y轴开始值,y轴结束值]

颜色映射

颜色映射可以使用渐变颜色来表示

plt.scatter(x,y, s=10, c=y, cmap=plt.cm.Blues)

这里,我们将参数c设置成y的一个列表,并使用cmap告诉pyplot使用哪个颜色映射,可以做到渐变的效果

效果:

访问https://www.osgeo.cn/matplotlib/tutorials/colors/colormaps.html 获取pyplot中所有的颜色映射

保存

我们将plt.show()改为plt.savefig()即可

plt.savefig('points.png', bbox_inches='tight')

第一个参数为保存的文件名,第二个参数表示裁剪多余的空白区域如需保留,则可以省略掉这个参数

参考


In solitude,where we are least alone