1、简介
Matplotlib是一个强大的Python绘图和数据可视化的工具包。数据可视化也是我们数据分析的最重要的工作之一,可以帮助我们完成很多操作,完成数据分析的最终结果就是做一个可交互的数据可视化。
安装方式:pip install matplotlib
引用方法:import matplotlib.pyplot as plt
2.plot函数(折线图)
import numpy as np import pandas as pd import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']= ['SimHei'] # 仅限于window系统,加入这两句,可解决加入中文 plt.rcParams['axes.unicode_minus'] = False x = [2,9,5,10] y = [1,2,3,4] plt. figure (figsize=(10,6)) # 设置画布大小 plt.title('title标题', fontsize=20, color='red') # 标题的大小和颜色 plt.xlabel('行',fontsize=20) # 设置x的值 plt.ylabel('列',fontsize=20) # 设置y的值 plt.plot(x, y, marker='o', linestyle='--') # 画图 ,marker='o'转折点处显示圈 # linestyle 表示虚线 plt.show() # 显示画
3.bar函数(柱状图)
df = pd.read_csv('./douban_movie.csv') # 把Excel里面的数据导入进来 df.head() # 查看前五条数据 res = df.groupby('产地').size().sort_values(ascending=False) # 根据 ‘产地’ 将电影划分,ort_index()安装索引排序,sort_values()安装值进行排序 res x = res.index y = res.values plt. figure (figsize=(20,6)) # 设置画布大小 plt.title('每个国家或者地区的电影数量', fontsize=20) # 标题的大小和颜色 plt.xticks(rotation=90 ,fontsize=20, color='red') # rotation=90 翻转90度 plt.xlabel('产地',fontsize=20) plt.yticks(fontsize=20) plt.ylabel('数量',fontsize=20) for a,b in zip(x,y): plt.text(a, b+150 ,b, horizontalalignment='center',fontsize=15) plt.bar(x,y) plt.show()
4.pie函数(饼图)
df.head() df_res = df['时长'] df_res res = pd.cut(df_res,[0, 60, 90, 120,140,1000]) # df_res是待分割的源数据 [0, 60, 90, 120,140,1000] 是区间,左开右闭 res res = res.value_counts() res x = res.index y = res.values plt.title('电影时长分布图',fontsize=20) patch, l_text, p_text = plt.pie(y, labels = x, autopct='%.2f%%') for p in p_text: p.set_size(12) p.set_color('white') for l in l_text: p.set_size(13) p.set_color('red') plt.pie(y) plt.show()
5、保存图表到文件
常用格式:plt.savafig('文件名.拓展名')
文件类型是通过文件扩展名推断出来的。因此,如果你使用的是.pdf,就会得到一个PDF文件。
plt.savefig('123.pdf')
savefig并非一定要写入磁盘,也可以写入任何文件型的对象,比如BytesIO:
from io import BytesIO buffer = BytesIO() plt.savefig(buffer) plot_data = buffer.getvalue()
参数 | 说明 |
fname | 含有文件路径的字符串或者Python的文件型对象。 |
dpi | 图像分辨率,默认为100 |
format | 显示设置文件格式("png","jpg","pdf","svg","ps",...) |
facecolor | 背景色,默认为"W"(白色) |
bbox_inches | 图表需要保存的部分。设置为”tight“,则尝试剪除图表周围空白部分 |