1.散点图
X1 = [[3.393533211,
2.331273381],
[3.110073483, 1.781539638],
[1.343808831, 3.368360954],
[3.582294042, 4.679179110],
[2.280362439, 2.866990263],
[7.423436942,
4.696522875],
[5.745051997, 3.533989803],
[9.172168622, 2.511101045],
[7.792783481, 3.424088941],
[7.939820817, 0.791637231]
]
y1 = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1]
X_data = np.array(X1) y_data = np.array(y1) plt.xlabel('X1') #设置X1轴坐标标签 plt.ylabel('X2') #设置X2轴坐标标签 plt.scatter(X_data[y_data==0,0], X_data[y_data==0,1], color='b') # 类型y=0 的归为⼀类数据 plt.scatter(X_data[y_data==1,0], X_data[y_data==1,1], color='r') # 类型y=1 的归为⼀类数据 plt.show() |
2.折线图
|
3.柱图
plt.bar()的参数:
参数 |
说明 |
x |
x坐标 |
height |
条形的⾼度 |
width |
宽度 |
bottom |
条形的起始位置 |
alpha |
透明度 |
align |
条形的中⼼位置 |
color |
条形的颜⾊ |
edgecolor |
边框的颜⾊ |
linewidth |
边框的宽度 |
tick_label |
下标的标签 |
log |
y轴使⽤科学计算法表示 |
orientation |
是竖直条还是⽔平条 |
使⽤plt.barh()函数画横向柱图,参数含义相同;
4.直方图
使⽤plt.hist()绘制直⽅图
5.饼图
pie 函数参数
x :(每⼀块)的⽐例,如果sum(x) > 1会使⽤sum(x)归⼀化; labels :(每⼀块)饼图外侧显示的说明⽂字;
explode :(每⼀块)离开中⼼距离;
startangle :起始绘制⻆度,默认图是从x轴正⽅向逆时针画起,如设定=90则从y轴正⽅向画起; shadow :在饼图下⾯画⼀个阴影。默认值:False,即不画阴影;
labeldistance :label标记的绘制位置,相对于半径的⽐例,默认值为1.1, 如<1则绘制在饼图内侧;
autopct :控制饼图内百分⽐设置,可以使⽤format字符串或者format function '%1.1f'指⼩数点前后位数(没有⽤空格补⻬);
pctdistance :类似于labeldistance,指定autopct的位置刻度,默认值为0.6;
radius :控制饼图半径,默认值为1;counterclock :指定指针⽅向;布尔值,可选参数,默认为: True,即逆时针。将值改为False即可改为顺时针。wedgeprops :字典类型,可选参数,默认值: None。参数字典传递给wedge对象⽤来画⼀个饼图。例如:wedgeprops={'linewidth':3}设置wedge线宽为3。
textprops :设置标签(labels)和⽐例⽂字的格式;字典类型,可选参数,默认值为:None。传递给
text对象的字典参数。
center :浮点类型的列表,可选参数,默认值:(0,0)。图标中⼼位置。
frame :布尔类型,可选参数,默认值:False。如果是true,绘制带有表的轴框架。
rotatelabels :布尔类型,可选参数,默认为:False。如果为True,旋转每个label到指定的⻆度。
6.3D图
X, Y = np.meshgrid(X, Y),⽤于⽣成⽹格点。X = np.arange(-4, 4, 0.25)该函数只能⽣成x的区间数据,同理,Y = np.arange(-4, 4, 0.25)也只能⽣成Y的区间数据,但要做图,我们必须给出每⼀个点的坐标,这就⽤ meshgrid函数来⽣成。
7.高清图片
默认情况下matplotlib画的图dpi=80,不是⾮常清晰,难以满⾜论⽂出版要求。通过plt.figure()设置图⽚
⼤⼩和分辨率;dataframe的plt⽅法没有dpi属性,只能使⽤默认值dpi=80;使⽤plt.savefig保存图⽚。
如果保存的图⽚是空的,⼀般是因为前⾯有plt.show()