内容简介:数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧 密相关,而数据挖掘指的是使用代码来探索数据集的规律和关联。数 据集可以是用一行代码就能表示的小型数字列表,也可以是数以吉字 节的数据。一丶 安装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查看器,并显示绘制的图形,
如图所示。查看器让你能够缩放和导航图形,另外,单击磁盘图标可将图形保存起来。
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()
参数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()
下面来设置输出的样式,使其更有趣:添加标题,给轴加上标签,并确保所有文本都大到能 够看清:
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()
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()
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()
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()
9 丶自动保存图表
要让程序自动将图表保存到文件中,可将对plt.show()的调用替换为对plt.savefig()的 调用:
plt.savefig('squares_plot.png', bbox_inches='tight')
第一个实参指定要以什么样的文件名保存图表,这个文件将存储到scatter_squares.py所在的 目录中;第二个实参指定将图表多余的空白区域裁剪掉。如果要保留图表周围多余的空白区域, 可省略这个实参。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Hit Refresh
Satya Nadella、Greg Shaw / HarperBusiness / 2017-9-26 / USD 20.37
Hit Refresh is about individual change, about the transformation happening inside of Microsoft and the technology that will soon impact all of our lives—the arrival of the most exciting and disruptive......一起来看看 《Hit Refresh》 这本书的介绍吧!