Python数据可视化编程实践-绘制图表
准备工作
打开Jupyter Notebook,导入需要的包,并配置好图片交互和中文显示环境:
import pandas as pd import numpy as np import sys reload(sys)
sys.setdefaultencoding('utf-8') import matplotlib as mpl
import matplotlib.pyplot as plt import matplotlib.cm as cm %matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
定义图表类型——柱状图、线形图和堆积柱状图
调用figure()方法,创建一个新的图表,接下来的绘图操作都在此图表中进行,参数figsize=(12,6)表示该图表的大小。
调用subplot(231)方法把图表分割成2行3列的网格,1表示图形的标号。 x = [1, 2, 3, 4] y =[5, 4, 3, 2]
plt.figure(figsize=(12,6)) plt.subplot(231)
plt.plot(x,y) # 折线图 plt.subplot(232)
plt.bar(x,y) # 垂直柱状图
plt.subplot(233)
plt.barh(x,y) # 水平柱状图 plt.subplot(234) plt.bar(x,y) y1= [7,8,5,3]
plt.bar(x,y1,bottom=y,color='r') # 堆叠柱状图 设置参数bottom=y plt.subplot(235)
plt.boxplot(x) # 箱线图 plt.subplot(236)
plt.scatter(x,y) # 散点图 plt.show()
具体解释下箱线图中的几个最重要的显示选项。
首先,我们可以添加从箱体延伸出来的箱须来展示数据集合的整个范围。箱体和箱须主要用于表现一个或多个数据集合中数据的编号,容易对数据进行对比而且易于理解。在同一个箱线图中可以呈现5种数据。 最小值:数据集合的最小值。
第二四分位数:其以下为数据集合中较低的25%数据。 中值:数据集合的中值
第三四分位数:其以上为数据集合中较高的25%数据。 最大值:给定数据集合的最大值。 dataset = [113, 115, 119, 121, 124, 124, 125, 126, 126, 126, 127, 127, 128, 129, 130, 130, 131, 132, 133, 136] plt.figure(figsize=(10,6)) plt.subplot(121)
plt.boxplot(dataset, vert = False) plt.subplot(122) plt.hist(dataset) plt.show()
我们用同一个数据集合来绘制箱线图和直方图,观察两种图表在数据展现上的差异。左图呈现了五个统计数据,右图展示了数据集合在给定范围内的分组情况。
简单的正弦图和余弦图
我们对从-Pi到Pi之间具有相同线性距离的256个点来计算正弦值和余弦值,然后把sin(x)值和cos(x)值在用以图表中绘制出来。 x = np.linspace(-np.pi, np.pi, 256, endpoint=True) y = np.cos(x)