Python学习笔记(三)-- 数据可视化(上)
介绍
数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧密相关,而数据挖掘指的是使用代码来探索数据集的规律和关联。数据集可以是用一行代码就能表示的小型数字列表,也可以是数以字节的数据。
数据科学家使用Python编写了一系列令人印象深刻的可视化和分析工具,其中很多也可供我们使用。最流行的工具之一是matplotlib,它是一个数学绘图库,我们将使用它来制作简单的图表,如折线图和散点图。
安装matplotlib
使用pip
安装matplotlib
:
pip install matplotlib
成功后输入
import matplotlib
检测:
之后若要在Pycharm中添加matplotlib库,
可参考:
https://blog.csdn.net/weixin_44569187/article/details/87281539
绘制简单的折线图
import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
plt.plot(squares)
plt.show()
我们首先导入了模块pyplot
,并给它指定了别名plt
,以免反复输入pyplot。
我们创建了一个列表,在其中存储了前述平方数,再将这个列表传递给函数plot()
,这个函数尝试根据这些数字绘制出有意义的图形。 plt.show()
打开matplotlib查看器,并显示绘制的图形.
matplotlib可以让我们调试图样的每一个细节。
官网链接:
https://www.matplotlib.org.cn/
import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
plt.plot(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()
参数linewidth
决定了plot()
绘制的线条的粗细。函数title()
给图表指定标题。在上述代码中,出现了多次的参数fontsize
指定了图表中文字的大小。
函数xlabel()和ylabel()让你能够为每条轴设置标题。
函数tick_params()设置刻度的样式,其中指定的实参将影响x轴和y轴上的刻度( axes='both'),并将刻度标记的字号设置为14( labelsize=14)。
刚刚的图片中我们只提供了y值,现在我们接着为图像同时加入x值和y值。
import matplotlib.pyplot as plt
input_values = [1, 2, 3, 4, 5]
squares = [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()
注意plt.plot(input_values, squares, linewidth=5)
这一行的变化。
绘制散点图
我们可以使用 scatter()
绘制散点图并设置其样式
要绘制单个点,可使用函数scatter(),并向它传递一对x和y坐标,它将在指定位置绘制一
个点
import matplotlib.pyplot as plt
plt.scatter(2, 4)
plt.show()
我们也可以设置散点的大小:
plt.scatter(2, 4, s=200)
要绘制一系列的点,可向scatter()传递两个分别包含x值和y值的列表,
x_values = [1, 2, 3, 4, 5]
y_values = [1, 4, 9, 16, 25]
plt.scatter(x_values, y_values, s=100)
matplotlib依次从每个列表中读取一个值来绘制一个点。要绘制的点的坐标分别为 (1, 1)、 (2, 4)、 (3, 9)、 (4, 16)和(5, 25),
我们也可以使用循环自动计算点的位置:
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=40)
# 设置图表标题并给坐标轴加上标签
# 设置每个坐标轴的取值范围
plt.axis([0, 1100, 0, 1100000])
plt.show()
matplotlib允许你给散点图中的各个点指定颜色。默认为蓝色点和黑色轮廓,在散点图包含的数据点不多时效果很好。但绘制很多点时,黑色轮廓可能会粘连在一起。要删除数据点的轮廓,可在调用scatter()时传递实参edgecolor='none':
plt.scatter(x_values, y_values, edgecolor='none', s=40)
要修改数据点的颜色,可向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,指定的颜色越浅。
颜色映射( colormap)是一系列颜色,它们从起始颜色渐变到结束颜色。在可视化中,颜色
映射用于突出数据的规律,例如,你可能用较浅的颜色来显示较小的值,并使用较深的颜色来显
示较大的值。
模块pyplot内置了一组颜色映射。要使用这些颜色映射,你需要告诉pyplot该如何设置数据集中每个点的颜色。下面演示了如何根据每个点的y值来设置其颜色:
plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues,edgecolor='none', s=40)
本文来自作者:CK_0ff,转载请注明原文链接:https://www.cnblogs.com/Ck-0ff/p/15831948.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律