> 文章列表 > Matplotlib绘图

Matplotlib绘图

Matplotlib绘图

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.折线图

x3_1 = np.array(['2014', '2015', '2016', '2017', '2018']) y3_1 = np.array([11659.32,12786,13513,14272.74,16199])

plt.scatter(x3_1,y3_1) plt.xlabel("年份", fontsize=15)

plt.ylabel("⼈数(万⼈次)", fontsize=15)

plt.title("出境游客", fontsize=15)

plt.plot(x3_1,y3_1) plt.show()

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  :控制饼图半径,默认值为1counterclock :指定指针⽅向;布尔值,可选参数,默认为: 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()设置图⽚

⼤⼩和分辨率;dataframeplt⽅法没有dpi属性,只能使⽤默认值dpi=80;使⽤plt.savefig保存图⽚。

如果保存的图⽚是空的,⼀般是因为前⾯有plt.show()