数据可视化
数据可视化指的是通过可视化表示来探索数据,它与数据挖掘机密相关。
cd 目标文件夹
目标文件夹> python -m pip install --user matplotlib-3.1.1-cp37-cp37m-win_amd64.whl 就欧克了
import matplotlib.pyplot as plt
squares=[1,4,9,16,25]
plt.plot(squares)
plt.show()
大家是不是发现了折线图的终点指出4.0的平方是25!为什么会出现这样的问题呢?
原来当你向plot()提供一系列数字时,他假设第一个数据点对应的x坐标为0,但我们的第一个点对应的x值为1.为改变这种行为,我们可以通过以下两种方式进行修正。
(1)
import matplotlib.pyplot as plt
# input_values=[0,1,2,3,4,5]
squares=[1,4,9,16,25]
plt.plot(squares)
plt.show()
第一种方法即,增加一个0处的点来达到目的
(2)
import matplotlib.pyplot as plt
input_values=[0,1,2,3,4,5]
squares=[0,1,4,9,16,25]
plt.plot(input_values,squares)
plt.show()
第两种方法是指我们可以给plot()同时提供输入值和输出值。
上面两种代码的运行结果如图所示:
z
这样就没有问题了吧。
同时matplotlib也提供了很多可以修改样式的方法,通过修改样式我们可以更加直观的观察分析数据。
方法 | 效果 |
---|---|
linewidth | 设置线条粗细 |
fontsize | 设置字体的大小 |
title() | 设置标题 |
xlabel() | 设置x轴 |
ylabel() | 设置y轴 |
tick_params(axis=" ") | 设置刻度的样式,其中axis有三个参数可选,分别是"x"(x轴)“y”(y轴)“both”(x轴和y轴) |
下面来举个例子:
import matplotlib.pyplot as plt
input_values=[0,1,2,3,4,5]
squares=[0,1,4,9,16,25]
plt.plot(input_values,squares,linewidth=5)
#设置图表标题,并给坐标轴加上标签
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()
此时我们首先引入了matplotlib.pyplot,为了方便写入,我们用plt来代表它,plt.plot(input_values,squares,linewidth=5)这里表示的是线宽为5的线条,plt.title(“Square Numbers”,fontsize=24)是设置标题,字号为24,同理plt.xlabel是对x轴写标题并且规定标题的字号,plt.tick_params(axis=‘both’,labelsize=14)的作用是刻度的宽度为14,并且将此样式应用于x轴和y轴,==plt.show()==是打开matplotlib查看器,并显示绘制的图形。这样说大家明白了吧。
直接上个代码:
import matplotlib.pyplot as plt
plt.scatter(2,4,s=200)#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()
我想大家凭借聪明的头脑已经可以读懂这个程序了,这里跟上面稍有不同的就是plt.scatter(2,4,s=200)#s是设置点的尺寸,2是点的横坐标,4是纵坐标,s是点的尺寸。其余的就不多说了,下面是结果图
当然咱们作图的时候不可能只用一个点,下面咱们来画一系列的点,
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=200)#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()
列表x_values包含要计算其平方的数字,y_values包含x对应数字的平方值,将这些列表传递给scatter()时,matplotlib依次从每个列表读取一个值来绘制一个点。要绘制的点分别为(1,1)(2,4)(3,9)(4,16)(5,25),最终结果如下图:
这样就大功告成了。
上面就是matplotlib生成折线图和散点图的做法,当然matplotlib还有很多用途,这些用途咱们以后会讲到,十分感谢大家阅读。