|
安装
pip install matplotlib
在jupyter notebook里安装
! pip install matplotlib
图像结构  不同的类型数据需要选择合适的图显示
折线图
plt.plot()
折线样式 
- color:折线的颜色
- alpha:透明度
- linestyle:样式
‘-’:实线 ‘- -’:虚线 ‘-.’:点虚线 ’..’:点线 - linewidth:折线的宽度
- marker:折点样式
'-' '--' '-.' ':' '.' ',' 'o' 'v' '^' '>' '<' '1' '2' '3' '4' 's' 'p' '*' 'h' 'H' '+' 'x' 'd' 'D' '|' '_'
设置图片 
- figsize:设置图片的长宽,单位英寸
- dpi:每英寸像素点
保存图片:plt.savefig(),支持eps, jpeg, jpg, pdf, pgf, png, ps, raw, rgba, svg, svgz, tif, tiff格式
设置x轴的刻度:plt.xticks() 设置y轴的刻度:plt.yticks() 
显示中文 matplotlib默认不显示中文,要自行设置
- 设置
fontpropertiesplt.ylabel('温度',fontproperties='simHei')

-
import matplotlib
matplotlib.rcParams['font.sans-serif']=['SimHei']
一图多线
 设置图例
plt.legend(prop,loc)
prop设置字体loc设置位置,默认upper left,可改为upper right upper center lower left center leftetc.
散点图
plt.scatter()

设置网格
plt.grid()
linestyle网格样式alpha设置网格透明度
条形图
plt.bar()
width设置柱形的宽度color设置颜色 
直方图
'''
统计250部电影的时长的分布状态(比如时长为100分钟到120分钟电影的数量,出现的频率)
'''
import numpy as np
time = [131,98,125,131,124,139,131, 117, 128, 108, 135, 138, 131, 102, 107, 114,119,128,121,142,127,130,124, 101, 110, 116,
117, 110, 128, 128, 115,99,136,126,134,95,138,117,111,78, 132, 124, 113, 150, 110, 117,86,95, 144,105, 126, 130,126,
130, 126, 116, 123, 106, 112, 138, 123,86, 101,99, 136,123,117,119,105,137, 123, 128, 125, 104, 109, 134, 125, 127,105,
120,107,129, 116,108,132,103,136, 118, 102, 120, 114,105, 115, 132, 145, 119, 121,112,139, 125,138,109,132,134,156,
106, 117, 127, 144, 139, 139, 119, 140,83,110,102,123,107,143,115,136, 118, 139, 123, 112, 118, 125, 109, 119, 133,112,
114,122, 109,106,123,116,131,127, 115, 118, 112, 135,115,146,137,116,103,144,83,123,111,110,111,100,154,136, 100, 118,
119, 133,134,106,129,126,110,111,109,141,120, 117, 106, 149, 122, 122, 110, 118, 127, 121, 114, 125, 126,114, 140, 103,
130,141, 117, 106, 114, 121, 114, 133, 137,92,121,112,146,97,137, 105,98,117,112,81,97, 139, 113,134, 106, 144, 110,
137,137,111,104,117, 100, 111,101,110,105, 129, 137, 112, 120, 113, 133, 112,83,94,146,133,101,131, 116,111,84, 137,
115, 122, 106, 144, 109, 123, 116, 111,111, 133, 150]
plt.figure(figsize=(16,6))
distance = 2
group_num = int((max(time) - min(time)) / distance)
h = plt.hist(time,bins=group_num)
plt.xticks(range(min(time),max(time)+2)[::2])
plt.yticks(range(np.int(min(h[0])),np.int(max(h[0]))+1))
plt.grid(linestyle='--',alpha=0.5)
plt.xlabel('电影时长',fontproperties='simHei')
plt.ylabel('电影数量',fontproperties='simHei')
plt.title('250部电影的时长的分布状态',fontproperties='simHei',size=18)
plt.show()

print(h)
(array([ 1., 1., 3., 1., 2., 0., 0., 1., 3., 2., 4., 7., 6., 8., 11., 8., 18., 12., 13., 17., 12., 9., 13., 9., 11., 8., 10., 10., 7., 13., 10., 4., 2., 6., 3., 1., 2., 0., 2.]), array([ 78., 80., 82., 84., 86., 88., 90., 92., 94., 96., 98., 100., 102., 104., 106., 108., 110., 112., 114., 116., 118., 120., 122., 124., 126., 128., 130., 132., 134., 136., 138., 140., 142., 144., 146., 148., 150., 152., 154., 156.]), <BarContainer object of 39 artists>)
饼图

plt.pie()
size各部分大小explode设置各部分突出label各部分标签labeldistance标签文本距圆心位置,1.1表示1.1倍半径autopct 圆内文本shadow是否有阴影startangle起始角度,默认从0开始逆时针pctdistance圆内文本距圆心距离返回值l_text圆内文本,p_text圆外文本
|