[Python]matplotlib库实现数据可视化之绘制散点图

绘制散点图主要用到pyplot模块的scatter()函数。
详细参数可参考【matplotlib】scatter()散点图的详细参数

1. 绘制单个点

import matplotlib.pyplot as plt

plt.scatter(2, 4)

plt.show()

使用函数scatter(),并向它传递一对x和y坐标,他将在指定位置绘制这个点:
scatter.png

2. 设置输出的样式

import matplotlib.pyplot as plt

plt.scatter(2, 4, s=200)

plt.title("Square of Value", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square", fontsize=14)
plt.tick_params(axis='both', which='major', labelsize=14)

plt.show()

scatter()函数的实参s设置了绘制的点的尺寸。
tick_params()函数的实参which接受[‘major’ | ‘minor’ | ‘both’]三个值,默认是‘major’。意思分别是表示主刻度、表示次刻度、主次刻度都显示。

3. 绘制一系列点

要绘制一系列的点,可向scatter()传递两个分别包含x和y的列表。这里我们用绘制折线图用的数据。

import matplotlib.pyplot as plt

values = list(range(1, 8))
squares = [x**2 for x in values]

plt.scatter(values, squares, s=100)

--snip--

plt.show()

这些数据传递给scatter()时,matplotlib依次从每个列表中读取一个值来绘制一个点,如(1,1)、(2,4)。效果如下:
scatter1.png

4. 绘制更大的数据集

下面我们来尝试绘制1000个点:

import matplotlib.pyplot as plt

values = list(range(1, 1001))
squares = [x**2 for x in values]

plt.scatter(values, squares, s=40)

--snip--

#设定每个坐标轴的取值范围
plt.axis([0,1100,0,1100000])

plt.show()

由于这个数据集较大,所以我们把每个点设置得较小,并使用axis()函数指定了每个坐标轴的取值范围。
axis()函数要求提供四个值:x和y坐标轴的最小值和最大值。这里我们将x轴范围设置为01100,y轴的范围设置为01100000。最终效果如下:
scatter2.png

5. 设置数据点的样式

--snip--

plt.scatter(values, squares, c='red', edgecolor='none', s=40)

--snip--

edgecolor实参用于指定轮廓颜色
c实参用于指定数据点的颜色
颜色可传入关键字或RGB元组,其中包含三个0~1之间的小数值,分别表示红色、绿色和蓝色分量。
具体用法可参考【matplotlib】scatter()散点图的详细参数,在此不做赘述。
效果如下:
20190705095013.png

6. 使用颜色映射(colormap)

颜色映射是一系列颜色,从起始颜色渐变到结束颜色。在可视化中,颜色映射用于突出数据的规律。例如,你可能用浅色表示较小的值,而用深色表示较大的值。
模块pyplot内置了一组颜色映射。用法演示:

--snip--
plt.scatter(values, squares, c=values, cmap=plt.cm.Blues, edgecolor='none', s=40)
--snip--

我们将参数c设置成了一个y值列表,并使用参数cmap告诉pyplot使用哪个颜色映射。效果如下:
20190705095948.png
具体参考官方文档color examples中的colormaps reference。这里提供该文中文版翻译[matplotlib官方文档]colormap参考

7. 自动保存图表

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

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

第一个实参指定要以什么样的文件名保存图表,默认保存到当前目录,可用相对或绝对路径修改保存路径。
第二个参数指定将图表多余空白剪裁掉。若要保存多余空白,则可省略该参数。
原文地址:https://blog.irow.top/index.php/archives/16/
更多精彩内容,请关注时与空的终点

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值