导入matplotlib的简写形式:
import matplotlib as mpl
import matplotlib.pyplot as plt
一、线性图
要画Matplotlib
图形时,都需要先创建一个图形fig
和一个坐标轴ax
。创建图形与坐标轴的最简单做法是:
import matplotlib.pyplot as plt#导入模块
fig = plt.figure(figsize=(10,10))
ax = plt.axes()
然后需要用plot函数绘制线性图 :
plt.plot(x,+1,'--g')
'--g'是表示画一条由'--'构成的绿色的虚线,'g'代表演示的缩写,'--'代表画什么样的线。
设置图形标签
图形标签与坐标轴标题是最简单的标签,设置方法如下:
plt.plot(x, np.sin(x))
plt.title("A Sine Curve")#图片的名字
plt.xlabel("x")#横坐标的名字
plt.ylabel("sin(x)");#纵坐标的名字
二、散点图
使用scatter函数画散点图(在数据量较大时,plot
的效率将大大高于scatter
)
fig = plt.figure(figsize=(10,10))
plt.scatter(x,y,s=area,alpha=0.5)#x,y代表坐标,s代表面积,alpha代表透明度
plt.scatter(x2,y2,s=area,c="green",alpha=0.6)#c代表颜色
plt.scatter(x3,y3,s=area,marker='v',alpha=0.7)#marker代表标记样式
plt.savefig('Task3/img/T1.png')
plt.show()
三、直方图
使用hist函数进行绘制
plt.hist(data,bins=30, normed=0, facecolor="red", alpha=0.7)
参数 | 作用 | |
data | 绘图数据 | |
bins | 直方图的长条形数目,可选项,默认为10 |
|
normed | 是否将得到的直方图向量归一化,可选项,默认为0 ,代表不归一化,显示频数。normed=1 ,表示归一化,显示频率。 |
|
|
长条形的颜色 | |
edgecolor | 长条形边框的颜色 | |
alpha | 透明度 |
四、饼图
使用pie函数进行绘制
labels = 'A','B','C','D'
sizes = [10,20,10,60]
plt.pie(sizes,labels=labels,explode = (0,0.1,0,0),autopct='%1.1f')
参数 | 作用 |
x | 每一块的比例,如果sum(x) > 1 会使用sum(x) 归一化 |
labels | 饼图外侧显示的说明文字 |
explode | (每一块)离开中心距离 |
startangle | 起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起 |
shadow | 在饼图下面画一个阴影。默认值:False ,即不画阴影 |
autopct | 控制饼图内百分比设置(显示百分号为'%1.1f%%') |
radius | 控制饼图半径,默认值为1 |
wedgeprops | 字典类型,可选参数,默认值:None 。参数字典传递给wedge 对象用来画一个饼图。 |
具体例子见头歌:Matplotlib接口和常用图形 (educoder.net)