Matplotlib(绘图和可视化)

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“,则尝试剪除图表周围空白部分

猜你喜欢

转载自www.cnblogs.com/blue-tea/p/11985349.html