内容简介:数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧 密相关,而数据挖掘指的是使用代码来探索数据集的规律和关联。数 据集可以是用一行代码就能表示的小型数字列表,也可以是数以吉字 节的数据。一丶 安装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所在的 目录中;第二个实参指定将图表多余的空白区域裁剪掉。如果要保留图表周围多余的空白区域, 可省略这个实参。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 遇见大数据可视化:来做一个数据可视化报表
- 可视化的数据,鲜活的数据
- 可视化的数据,鲜活的数据
- 遇见大数据可视化: 未来已来,变革中的数据可视化
- Python 数据可视化 2018:数据可视化库为什么这么多?
- 数据可视化:如何玩转大数据
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。