第9章 数据可视化
【本章导读】
杂乱无序的数据往往会让人产生压迫感和厌倦感,一张可视化信息图表能清晰的传递庞杂信息和数据,大大缩减人们理解分析复杂数据的时间,提高获取信息的效率。
在数据可视化方面, Matplotlib库提供了非常强大的可视化能力。本章将在讲授函数曲线绘图与美化的基础上,详细讲授文件中各种类型数据的绘图方法,学习曲线图、直方图、雷达图、饼图、散点图、等值线图、三维图和词云的绘制方法。
【本章要点】
● 利用numpy创建数组
● 简单函数曲线的绘制、标注与美化
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2*np.pi, 50) # 0-2π之间生成等间距50个点
y_of_sin = np.sin(x) # 生成sin(x)值数组
y_of_cos = np.cos(x) # 生成cos(x)值数组
plt.plot(x, y_of_sin) # 绘制sin(x)曲线图像
plt.plot(x, y_of_cos) # 绘制cos(x)曲线图像
plt.show() # 显示绘制的图像
● 根据文件中的数据绘制曲线
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2*np.pi, 50) # 0-2π之间生成等间距50个点
y_of_sin = np.sin(x) # 生成sin(x)值数组
y_of_cos = np.cos(x) # 生成cos(x)值数组
plt.plot(x, y_of_sin) # 绘制sin(x)曲线图像
plt.plot(x, y_of_cos) # 绘制cos(x)曲线图像
plt.show() # 显示绘制的图像
● 饼图、直方图、雷达图、散点图和等值线图的绘制
● 曲线拟合与三维图的绘制
# 曲线拟合
import numpy as np
import matplotlib.pyplot as plt
from scipy import optimize
● 词云的绘制
fit_words(frequencies) 根据词频生成词云,参数为包含词与词频的字典,为generate_from_frequencies的别名
generate(text) 根据文本生成词云,是generate_from_text的别名
generate_from_frequencies(frequencies) 根据词频生成词云,参数为词频字典
generate_from_text(text) 根据文本生成词云,如果参数是排序的列表,需设置'collocations=False',否则会导致每个词出现2次。
process_text(text) 将长文本分词并去除stopwords,返回值为词频字典
import jieba.analyse
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
from wordcloud import WordCloud
wc = WordCloud(max_words=80, # 设置显示高频单词数量
font_path='msyh.ttc', # 中文字体
width=600, # 设置图片的宽度
height=400, # 设置图片的高度
background_color='White', # 设置背景颜色
mask=graph, # 设置背景图片
max_font_size=150, # 设置字体最大值
margin=5, # 设置图片的边缘
scale=1.5) # 按照比例进行放大

本章课件