用数据表达信息是非常准确的,但用图形去表达信息更一目了然。
25.1数据图形化工具Jupyter Notebook
Jupyter Notebook是一种Web应用,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。它生成的.jpynb文件可以发布到网上供所有人查阅。
如果安装了
可以在

接下来,单击右上角的

可以在
25.2 图表的基本组成元素
一个标准的可视化图表如下图所示,该表包含了一个图表中的基本组成元素。
25.3 创建画布
在
import matplotlib.pyplot as plt
#导入matplotlib库中的pyplot并命名别名为plt
%matplotlib inline
#为了使图表在Jupyter Notebook中输出
plt.rcParams["font.sans-serif"]='SimHei'
#指定标签的字体,但要保证Anaconda安装了该字体
plt.rcParams['axes.unicode_minus']=False
#解决负号显示出错的问题
%config InlineBackend.figure='svg'
#设置显示格式为矢量图,可以提高清晰度
fig=plt.figure()
#创建画布
plt.figure(figsize=(8,6))
#设置画布的宽和高
plt.show()
#显示图片
点击
如果在
plt.xlim(0,20)
plt.ylim(0,10)
plt.xlim()和plt.ylim()函数可以设置坐标轴的最大刻度值。若不设置,坐标轴默认最大刻度值为1。
运行后得到如下图表:

25.4 建立坐标系
1、单坐标系,可运行如下代码:
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams["font.sans-serif"]='SimHei'
plt.rcParams['axes.unicode_minus']=False
%config InlineBackend.figure='svg'
fig=plt.figure()
ax1=fig.add_subplot(1,1,1)
可以得到如下坐标系:

2、也可以在一张画布上绘制多个坐标系,输入如下代码,可以绘制出4个坐标系:
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams["font.sans-serif"]='SimHei'
plt.rcParams['axes.unicode_minus']=False
%config InlineBackend.figure='svg'
fig=plt.figure()
ax1=fig.add_subplot(2,2,1)
ax2=fig.add_subplot(2,2,2)
ax3=fig.add_subplot(2,2,3)
ax4=fig.add_subplot(2,2,4)
运行后得到如下坐标系:

25.5 设置其他图表格式
现采用如下数据():
month,amount
1,68980
2,78875
3,81400
4,70624
6,65562
6,94603
7,49705
8,76060
9,83485
10,96033
11,85446
12,84685
用如下实例进行详解,代码如下(不能用注释解释的部分,请按照编号参考后面的详解):
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams["font.sans-serif"]='SimHei'
plt.rcParams['axes.unicode_minus']=False
%config InlineBackend.figure='svg'
fig=plt.figure()
# [1]
# [2]
y=data['amount']
#设置横轴标题
#设置纵轴标题,为
# [3]
#[4]
#画出折线图,并标出图例
#画出柱状图,并标出图例
# 2个图例都显示
#设置图表标题
运行后得到的图表如下:

关于上面程序的详解:
【()方法可以读取文本文件,既可以读取.txt文件,也可以读取.csv文件。
.txt文件大家都非常熟悉,一般用记事本程序编辑。.csv文件是一种特殊的纯文本文件,可以用Excel程序编辑,文件保存时选择.csv格式即可。.csv文件在Excel中编辑时和普通的.xlsx文件区别,都是按照单元格编辑的,保存为.csv文件后,在记事本中打开,会发现行用换行符区分,列用逗号隔开。
从上例我们已经知道,普通的()方法读取,所以,直接使用用行和逗号分隔的数据更为方便。
【被()方法读取后,是一个DataFrame类型的数据集,共有两个列,即和。
【)用于设置图表的网格线。
用来启用网格线。
如果仅开启x;如果仅开启y;若不设置
用于设置线型,如,表示设置为虚线。
表示线宽的值。
【用于设置横坐标轴的刻度,格式如(ticks,labels),其中ticks表示刻度值,labels表示该刻度处对应的标签,都为列表类型。
因为在前面的语句中没有设置参数,所以显示的月份是从),即刻度为0~12,相应的标签为空字符、“1月”~“12月”。

本文由大漠孤驼的编程苦旅原创,欢迎关注,带你一起长知识!