python -- 数据可视化

栏目: 编程工具 · 发布时间: 6年前

内容简介:数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧 密相关,而数据挖掘指的是使用代码来探索数据集的规律和关联。数 据集可以是用一行代码就能表示的小型数字列表,也可以是数以吉字 节的数据。一丶 安装matplotlib在Linux系统中安装 matplotlib 如果你使用的是系统自带的Python版本,可使用系统的包管理器来安装matplotlib,为此只需 执行一行命令:

数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧 密相关,而数据挖掘指的是使用代码来探索数据集的规律和关联。数 据集可以是用一行代码就能表示的小型数字列表,也可以是数以吉字 节的数据。

一丶 安装matplotlib

Linux 系统中安装 matplotlib 如果你使用的是系统自带的 Python 版本,可使用系统的包管理器来安装matplotlib,为此只需 执行一行命令:

如果你安装了较新的Python版本,就必须安装matplotlib依赖的一些库:

$ sudo apt-get install python3.5-dev python3.5-tk tk-dev $ sudo apt-get install libfreetype6-dev g++ 

再使用pip来安装matplotlib: 

$ pip install --user matplotlib 

二丶绘制简单的折线图

1 绘制简单的折线图

import matplotlib.pyplot as plt 
squares = [1, 4, 9, 16, 25] 
plt.plot(squares)
plt.show()

我们首先导入了模块pyplot,并给它指定了别名plt,以免反复输入pyplot。在线示例大都这 样做,因此这里也这样做。模块pyplot包含很多用于生成图表的函数。 我们创建了一个列表,在其中存储了前述平方数,再将这个列表传递给函数plot(),这个函 数尝试根据这些数字绘制出有意义的图形。plt.show()打开matplotlib查看器,并显示绘制的图形,

如图所示。查看器让你能够缩放和导航图形,另外,单击磁盘图标可将图形保存起来。 python -- 数据可视化

2 .修改标签文字和线条粗细

import matplotlib.pyplot as plt
squares = [1,4,9,16,25]
input_values =[1,2,3,4,5]
plt.plot(input_values ,squares,linewidth = 3)
# 设置图表标题,并给坐标轴加上标签
plt.title("Square Numbers",fontsize =24)
plt.xlabel("Value",fontsize =14)
plt.ylabel("Square of Value",fontsize =14)
# 设置刻度标记的大小 
plt.tick_params(axis = 'both',labelsize =14)
plt.show()

python -- 数据可视化

参数linewidth 决定了plot()绘制的线条的粗细. 函数title() 给图表指定标 题。在上述代码中,出现了多次的参数fontsize指定了图表中文字的大小。

函数xlabel()和ylabel()让你能够为每条轴设置标题;而函数tick_params()设置刻度 的样式,其中指定的实参将影响x轴和y轴上的刻度(axes='both'),并将刻度标记的字号 设置为14(labelsize=14)。

3 丶使用scatter()绘制散点图并设置其样式

有时候,需要绘制散点图并设置各个数据点的样式。例如,你可能想以一种颜色显示较小的 值,而用另一种颜色显示较大的值。绘制大型数据集时,你还可以对每个点都设置同样的样式, 再使用不同的样式选项重新绘制某些点,以突出它们。 要绘制单个点,可使用函数scatter(),并向它传递一对x和y坐标,它将在指定位置绘制一 个点:

import matplotlib.pyplot as plt

#在散点图上的坐标 
plt.scatter(2,4)
plt.scatter(3,5)
plt.scatter(2.5,4.5)
plt.show()

python -- 数据可视化

下面来设置输出的样式,使其更有趣:添加标题,给轴加上标签,并确保所有文本都大到能 够看清:

import matplotlib.pyplot as plt

#在散点图上的坐标 
plt.scatter(2,4,s = 200)
plt.scatter(3,5,s = 200)
plt.scatter(2.5,4.5,s = 200)
#,我们调用了scatter(),并使用实参s设置了绘制图形时使用的点的尺寸。
plt.title("Square Numbers",fontsize =24)
plt.xlabel("Value",fontsize =14)
plt.ylabel("Square of Value",fontsize =14)
plt.tick_params(axis = 'both',which ='major',labelsize = 14)
plt.show()

python -- 数据可视化

4丶使用scatter()绘制一系列点

import matplotlib.pyplot as plt

x_values = [1,2,3,4,5]
y_values = [1,4,9,16,25]
plt.scatter(x_values,y_values,s=100)
plt.title("Square Numbers",fontsize =24)
plt.xlabel("Value",fontsize =14)
plt.ylabel("Square of Value",fontsize =14)
plt.tick_params(axis = 'both',labelsize =14)

plt.show()

python -- 数据可视化

5丶自动计算数据

手工计算列表要包含的值可能效率低下,需要绘制的点很多时尤其如此。可以不必手工计算 包含点坐标的列表,而让Python循环来替我们完成这种计算。下面是绘制1000个点的代码:

import matplotlib.pyplot as plt

x_values = list(range(1,1001))
y_values = [x**2 for x in x_values]
plt.scatter(x_values,y_values,s=10)
plt.title("Square Numbers",fontsize =24)
plt.xlabel("Value",fontsize =14)
plt.ylabel("Square of Value",fontsize =14)
plt.tick_params(axis = 'both',labelsize =14)
plt.axis([0,1100,0,1100000])
plt.show()

python -- 数据可视化

6  删除数据点的轮廓

matplotlib允许你给散点图中的各个点指定颜色。默认为蓝色点和黑色轮廓,在散点图包含的 数据点不多时效果很好。但绘制很多点时,黑色轮廓可能会粘连在一起。要删除数据点的轮廓, 可在调用scatter()时传递实参edgecolor='none':

plt.scatter(x_values, y_values, edgecolor='none', s=40)

7  自定义颜色

要修改数据点的颜色,可向scatter()传递参数c,并将其设置为要使用的颜色的名称,如下 所示:

plt.scatter(x_values, y_values, c='red', edgecolor='none', s=40)

还可以使用RGB颜色模式自定义颜色。要指定自定义颜色,可传递参数c,并将其设置为一个元组,其中包含三个0~1之间的小数值,它们分别表示红色、绿色和蓝色分量。例如,下面 的代码行创建一个由淡蓝色点组成的散点图:

plt.scatter(x_values, y_values, c=(0, 0, 0.8), edgecolor='none', s=40)

值越接近0,指定的颜色越深,值越接近1,指定的颜色越浅。

8丶使用颜色映射

颜色映射(colormap)是一系列颜色,它们从起始颜色渐变到结束颜色。在可视化中,颜色 映射用于突出数据的规律,例如,你可能用较浅的颜色来显示较小的值,并使用较深的颜色来显 示较大的值。 模块pyplot内置了一组颜色映射。要使用这些颜色映射,你需要告诉pyplot该如何设置数据 集中每个点的颜色。下面演示了如何根据每个点的y值来设置其颜色:

import matplotlib.pyplot as plt

x_values = list(range(1,1001))
y_values = [x**2 for x in x_values]
plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues,     edgecolor='none', s=40) 
plt.title("Square Numbers",fontsize =24)
plt.xlabel("Value",fontsize =14)
plt.ylabel("Square of Value",fontsize =14)
plt.tick_params(axis = 'both',labelsize =14)
plt.axis([0,1100,0,1100000])


plt.show()

python -- 数据可视化

9 丶自动保存图表

要让程序自动将图表保存到文件中,可将对plt.show()的调用替换为对plt.savefig()的 调用: 

plt.savefig('squares_plot.png', bbox_inches='tight')

第一个实参指定要以什么样的文件名保存图表,这个文件将存储到scatter_squares.py所在的 目录中;第二个实参指定将图表多余的空白区域裁剪掉。如果要保留图表周围多余的空白区域, 可省略这个实参。 


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

产品心经

产品心经

闫荣 / 机械工业出版社 / 2014-9-30 / 59

产品经理如何才能迅速地、全方位地提升自己的能力,从而打造出让用户尖叫并疯狂爱上的产品?有没有捷径?从成功的、有经验的产品经理的实践真知和智慧中学习是一个很好的途径!本书就是一位拥有近10年产品经验的资深产品经理的实践真知和智慧的结晶,从产品经理核心素养、产品认知、战略与规划、精益开发、需求分析与管理、用户体验、精细运营7大方面,系统梳理了能全面、迅速提升产品经理能力,从而打造出让用户尖叫的产品的5......一起来看看 《产品心经》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具