python数据可视化编程_Python数据可视化编程实战-1

第1章

有两种方式更改运行参数:使用参数字典(rcparams)或调用matplotlib.rc()命令。第一种方式中,可以通过 rcparams字典访问并修改所有已经加载的配置项;第二种方式中,可以通过matplotlib.rc()传入属性的关键字元组来修改配置项。

使用 matplotlib. rcparams的例子。

import matplotlib as mpl

mpl. rcparams [ ‘lines.linewidth‘] = 2

mpl. rcparams [‘lines color‘] = ‘r‘

使用 matplotlib.rc()函数调用的例子。

import matplotlib as mpl

mpl. rc(‘lines‘,  linewidth = 2, color= ‘r‘)

示例:

importmatplotlib. pyplot as pltimportnumpy as np

t= np. arange(0.0,1.0,0.01)

s=np.sin(2 *np.pi *t)#设置线为红色

plt.rcParams [‘lines.color‘] = ‘r‘plt.plot(t, s)

c=np.sin(2 *np.pi *t)#设置线的宽度(3有无引号均可)

plt. rcParams[‘lines.linewidth‘] = ‘3‘plt.plot(t,c)

plt.show()

1.9为项目设置参数

配置文件包括以下配置项:

◆ axes:设置坐标轴边界和表面的颜色、坐标刻度值大小和网格的显示。

◆ backend:设置目标输出 TkAgg和 GTKAgg。

◆ figure:控制dpi、边界颜色、图形大小和子区(subplot)设置。

◆ font:字体集( font family)、字体大小和样式设置。

◆ grid:设置网格颜色和线型。

◆ legend:设置图例和其中文本的显示。

◆ line:设置线条(颜色、线型、宽度等)和标记。

◆ patch: 是填充2D空间的图形对象,如多边形和圆。控制线宽、颜色和抗锯齿设置等。

◆ savefig:可以对保存的图形进行单独设置。例如,设置渲染的文件的背景为白色。

◆ text:设置字体颜色、文本解析(纯文本或 latex标记)等。

◆ verbose:设置 matplotlib在执行期间信息输出,如 silent、 helpful、 debug和debug- annoying。

◆ xticks和 yticks:为x、y轴的主刻度和次刻度设置颜色、大小、方向,以及标签大小。

第2章 了解数据

2.2 csv文件

importcsvfilename= "E:\\python_data_plot\\ch02\\ch02_data.csv"data=[]#打开文件

with open(filename) as f:

reader=csv.reader(f)

header= next(reader) #读取文件头

for row inreader:

temp= int(row[1]) #读取第二列的数据,原格式为字符串型,化为整型

data.append(row[1]) #存入数组

print(data)

2.3 读取excel文件

xlrd模块使用的对象模型:每一个工作簿workbook中包含多个工作表sheet,每个工作表中有多个单元格对象cell,我们从单元格中将值提取出来。

主要方法:

sheet.row_values(1) #读取第2行的值

sheet.cell(1, 1).value #读取特定单元格(第2行第2列)的值

importxlrd#读取excel文件一列数据

defexcel():#1.打开Excel文件

wb = xlrd.open_workbook(‘E:\\python_data_plot\\ch02\\MK.xlsx‘)#2.通过excel表格名称(rank)获取工作表

sheet = wb.sheet_by_name(‘Sheet1‘)

dat= [] #创建空list

#根据行数(nrows)和列数(ncols)读取单元格的内容

for a in range(1, sheet.nrows): #从第二行开始,循环读取表格内容(每次读取一行数据)

cells = sheet.row_values(a) #每行数据赋值给单元格cells

data = int(cells[0]) #因为表内可能存在多列数据,0代表第一列数据,1代表第二列,以此类推

dat.append(data) #把每次循环读取的数据插入到list

returndat

a= excel() #返回整个函数的值

print(a)

2.10 读取大块文件数据

对于数据特别大的数据,如包含几千万行数据的,处理起来很困难。这类文件不能一次性把文件数据读取进内存中,而是分很多次。

这一类读取文件的函数有两个参数:chunksize,iterator

1)指定CHUNKSIZE分块读取文件

read_csv 和  read_table 有一个chunksize参数,用以指定一个块大小(每次读取多少行),返回一个可迭代的  TextFileReader 对象。

table=pd.read_table(path+‘kuaishou.txt‘,sep=‘\t‘,chunksize=1000000)

2)指定迭代=真

reader = pd.read_table(‘tmp.sv‘, sep=‘\t‘, iterator=True)

2020-06-28 18:11:12

2.13  生成可控的随机数据集合

标准差:表示个体和群体之间的差异。如果差异越大,标准差会越大;如果所有个体实验在整组范围内基本相同,标准差会比较小。

方差:标准差的平方。

总体

样本:总体的子集。

主要用python的random模块生成数据,其主要用法如下:

importrandomprint(random.randint(1, 10)) #产生 1 到 10 的一个整数型随机数

print(random.random()) #产生 0 到 1 之间的随机浮点数

print(random.uniform(1.1, 5.4)) #产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数

print(random.choice(‘tomorrow‘)) #从序列中随机选取一个元素

print(random.randrange(1, 100, 2)) #生成从1到100的步长为2的随机整数(如得到33,33-1=32,为2的倍数)

print(random.sample(‘zyxwvutsrqponmlkjihgfedcba‘, 5)) #多个字符中生成指定数量的随机字符

a = [1,3,5,6,7] #将序列a中的元素顺序打乱

random.shuffle(a)print(a)

print(random.normalvariate(0.2, 1.2)) #从中值为0.2,标准差为1.2的正态分布中选取一个随机值

创建一个均匀分布的样本:

(pylab库结合了pyplot和numpy,对交互式使用来说比较方便,既可以画图又可以进行简单的计算。)

importpylabimportrandom

random.seed()

real_vars=[]

real_vars= [random.randint(0, 16) for val in range(100)] #生成100个在0-16之间的随机整数

print(real_vars)# 创建分为10段的柱状直方图

pylab.hist(real_vars, 10)#定义x轴和y轴的坐标轴标题

pylab.xlabel("number range")

pylab.ylabel("count")#显示图形

pylab.show()

第3章 绘制并定制化图表

3.2 定义图表类型----柱状图、线型图和堆积柱状图

from matplotlib.pyplot import *

#数据

x = [1, 2, 3, 4, 5, 6]

y= [3, 4, 6, 7, 3, 2]#创建新图形

figure()#把分区划分为2*3的网格,选择#1的位置

subplot(2, 3, 1)

plot(x, y)#柱状图,选择#2的位置

subplot(2, 3, 2)

bar(x, y)#水平(horizontal)柱状图,选择#3的位置

subplot(2, 3, 3)

barh(x, y)#叠加柱状图

subplot(2, 3, 4)

bar(x, y)#叠加柱状图所需要的补充数据

y1 = [2, 3, 4, 5, 6, 7]

bar(x, y1, bottom=y, color=‘r‘)#箱线图

subplot(2, 3, 5)

boxplot(x)#散点图

subplot(2, 3, 6)

scatter(x, y)

show()

补充说明:

figure():创建一个新的图表,给该方法传递字符串参数,这个字符串就会成为窗口的标题。

subplot(2, 3, 1):第一个参数是行数,第二个参数为列数,第三个参数表示图形的标号。

箱线图:一种用作显示一组数据分散情况资料的统计图。

3.3 简单的正弦图和余弦图

绘制的基本图表包含以下元素:

xlim()和ylim():坐标轴的最大和最小刻度。

xticks()和yticks():设置坐标轴的刻度间隔。

from matplotlib.pyplot import *

importnumpy as np#取-pi到pi之间具有相同线性距离的256个点

x = np.linspace(-np.pi, np.pi, 256, endpoint=True)

y= np.cos(x) #计算正弦值和余弦值

y1 =np.sin(x)

plot(x, y)#画正弦图和余弦图

plot(x, y1)

title("Function sin and cos") #定义题目

xlim(-3.0, 3.0) #设置x和y的范围

ylim(-1.0, 1.0)#设置坐标轴的刻度间隔

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

yticks([-1, 0, +1])

show()

#xlim(-3.0, 3.0) # 设置x和y的范围#ylim(-1.0, 1.0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值