88、折线图属性设置

自动计算数据

很多时候手动输入数据效率太低,可以使用Python循环来计算。下面是绘制1000个点的代码:

88、折线图属性设置_第1张图片
图片发自App

首先创建一个包含x坐标的列表x_values,包含数字1~1000,函数range()自动生成指定范围内的数,包含下限但不包含上限。接下来生成一个y值的列表解析,它使用for循环遍历x的值,计算其平方值(x**2),

并将结果存储到列表y_values 中。然后,将输入列表和输出列表传递给scatter()

由于输入是数据比较多,我们可以将点设置较小,并使用函数axis()指定每个坐标的取值范围。函数axis()要求提供四个值:x的最小值、x的最大值、y的最小值、y的最大值。在这里,我们把x坐标的范围设置为0~1100,y坐标取值范围为0~1100000。结果如下:

88、折线图属性设置_第2张图片
图片发自App

删除数据点的轮廓

matplotlib允许你给散点图中的各个点指定颜色。默认为蓝色点和黑色轮廓,在散点图包含的数据点不多时效果很好。但绘制很多点时,黑色轮廓可能会粘连在一起。要删除数据

点的轮廓,可在调用scatter() 时传递实参edgecolor='none' 。可我在实际操作过程中发现,用不用实参edgecolor='none',图像前后变化不大。


自定义颜色

要修改数据点的颜色,可向scatter() 传递参数c ,并将其设置为要使用的颜色的名称,如下所示:

图片发自App
88、折线图属性设置_第3张图片
图片发自App

还可以使用RGB颜色模式自定义颜色。要指定自定义颜色,可传递参数c ,并将其设置为一个元组,其中包含三个0~1之间的小数值,它们分别表示红色、绿色和蓝色分量。例如,下面的代码行创建一个由淡蓝色点组成的散点图:其中值越接近0,指定的颜色越深,值越接近1,指定的颜色越浅。

图片发自App
88、折线图属性设置_第4张图片
图片发自App


使用颜色映射

颜色映射 (colormap)是一系列颜色,它们从起始颜色渐变到结束颜色。在可视化中,颜色映射用于突出数据的规律,例如,你可能用较浅的颜色来显示较小的值,并使用较深的颜色来显示较大的值。模块pyplot 内置了一组颜色映射。要使用这些颜色映射,需要告诉pyplot 该如何设置数据集中每个点的颜色。下面演示了如何根据每个点的 y 值来设置其颜色:

88、折线图属性设置_第5张图片
图片发自App

我们将参数c 设置成了一个 y 值列表,并使用参数cmap 告诉pyplot 使用哪个颜色映射,camp可以使用的颜色有['Blues', 'BuGn', 'BuPu', 'GnBu', 'Greens', 'Greys', 'Oranges', 'OrRd', 'PuBu', 'PuBuGn', 'PuRd', 'Purples', 'RdPu', 'Reds', 'YlGn', 'YlGnBu', 'YlOrBr', 'YlOrRd']。

这些代码将 y 值较小的点显示为浅绿色,并将 y 值较大的点显示为深绿色,生成的图形如图:

88、折线图属性设置_第6张图片
图片发自App

自动保存图表

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

88、折线图属性设置_第7张图片
图片发自App
88、折线图属性设置_第8张图片
scatter_squares.png

第一个实参指定要以什么样的文件名保存图表,这个文件将存储到scatter_squares.py所在的目录中;第二个实参指定将图表多余的空白区域裁剪掉。我把第二个实参删除后,结果如下:

图片发自App
88、折线图属性设置_第9张图片
scatter_squares_2.png

通过以上的对比可以看出,删除第二个实参后存储的图表会有部分不完整,最好还是使用实参bbox_inches='tight'

你可能感兴趣的:(88、折线图属性设置)