Python数据可视化编程实践_绘制图表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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)

y1 = np.sin(x)

plt.figure(figsize=(10,6))

plt.plot(x, y)

plt.plot(x, y1)

plt.title("Functions $\sin$ and $\cos$") #设置图标题

plt.xlim(-3.0, 3.0) #设置x轴范围

plt.ylim(-1.0, 1.0) #设置y轴范围

plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],

[r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$']) # 用希腊字母标注x轴标签plt.yticks([-1, 0, +1],

[r'$-1$', r'$0$', r'$+1$'])

plt.show()

设置坐标轴长度和范围

如果不实用axis()或者其他参数设置,matplotlib会自动使用最小值,刚好可以让我们在一个图中看到所有的数据点。调用autoscale()方法,会以坐标轴的最佳大小适应数据的显示。

axis()里面的值分别表示坐标轴上xmin、xmax、ymin、ymax

axhline()表示绘制了一条y=0的水平线

axvline()表示绘制了一条x=0的垂直线

axhline(4)表示绘制了一条y=4的水平线l=[-1, 1, -10, 10]

plt.axis(l)

plt.axhline()

plt.axvline()

plt.axhline(4)

设置图表的线型、属性和格式化字符串常见的线条样式:

- 直线

--虚线

-. -.形式

: 细小虚线

常见的点样式:

s--方形

相关文档
最新文档