python编程从入门到实战16章x轴刻度与书不一样,【有书共读05】python编程--从入门到实践14...

数据可视化

一、准备工作

安装matplotlib

推荐使用pip安装

pip install matplotlib

二、绘制简单的折线图

import matplotlib.pyplot as plt

squares = [1,4,9,16,25]

plt.plot(squares)

plt.show()

首先导入了模块pyplot,并指定其别名为plt。模块pyplot包含许多用于生成图表的函数。

接下来,创建一个列表,在其中存储了前述平方数,在将这个列表传递给函数plot(),这个函数尝试根据这些数据绘制出有意义的图形。

plt.show()打开matplotlib查看器,显示绘制的图形。

8a7573baef92eb0fb3b0f58be8c93b18.png

1、修改标签文字和线条粗细

其实就是改变图表的一些参数。目的就是为了更好的观赏

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()给图表指定标题。

frontsize指定字体大小。

函数xlabel()和ylabel()让你可以为每条坐标轴设置标题。

函数tick_params()设置刻度的样式,其中指定的实参将影响x轴和y轴上的刻度(axis = 'both'), 并将刻度标记的字号设置为14。

2.校正图形

如果你仔细观察的话,你会发现刚刚绘制的图形有错误!

那应该要怎样修复这个问题呢?

当你向plot()提供一系列数字时,它假设第一个数据点对应的X坐标值为0,但我们的第一个点对应的X值为1。为改变这种默认行为,我们可以给plot()同时提供输入值和输出值。

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()

现在plot()将正确的绘制数据,因为我们同时提供了输入值和输出值,它无需对输出值的生成方式进行假设。

c6164046ac8b7292ee38db3acfa8b1e8.png

3、使用scatter()绘制散点图并设置其样式

可以用scatter()绘制单个点

import matplotlib.pyplot as plt

plt.scatter(2,4)

plt.show()

下面来设置输出的样式,使其更有趣:添加标题,给轴加上标签,并确保所有文本可以大到可以看清。

import matplotlib.pyplot as plt

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

#设置图表标题并给坐标轴加上标签

plt.title("Square Numbers", fontsize = 24)

plt.xlabel("Value", fontsize = 12)

plt.ylabel("Squa of Value", fontsize = 12)

#设置刻度标记的大小

plt.tick_params(axis = 'both', which = 'major', labelsize = 12)

plt.show()

实参s设置了绘制图形时使用的点的尺寸。

4、使用scatter()绘制一系列离散点

只需要向scatter()传递两个分别包含x值和y值的列表即可。

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)

#设置图表标题并给坐标轴加上标签

plt.title("Square Numbers", fontsize = 24)

plt.xlabel("Value", fontsize = 12)

plt.ylabel("Squa of Value", fontsize = 12)

#设置刻度标记的大小

plt.tick_params(axis = 'both', which = 'major', labelsize = 12)

plt.show()

5、删除数据点的轮廓

我们完全不需要手工计算出数据,可以依据计算机来计算数据并将图表绘制出来。

import matplotlib.pyplot as plt

x_values = list(range(1,1000))

y_values = [x**2 for x in x_values]

plt.scatter(x_values, y_values,edgecolor='none', s=40)

#设置图表标题并给坐标轴加上标签

plt.title("Square Numbers", fontsize = 24)

plt.xlabel("Value", fontsize = 12)

plt.ylabel("Squa of Value", fontsize = 12)

#设置刻度标记的大小

plt.tick_params(axis = 'both', which = 'major', labelsize = 12)

#设置每个坐标轴的取值范围

plt.axis([0, 1100, 0, 1100000])

plt.show()

plt.scatter(x_values, y_values,edgecolor='none', s=40)

默认点的特征是蓝色点和黑色的轮廓,如果使用edgecolor='none'参数时,运行后我们会发现点是蓝色的,没有轮廓。

6、自定义颜色

有个参数c是是离散点背景颜色,只需要将scatter()加入几个参数即可。

plt.scatter(x_values, y_values, c = 'red', edgecolor='none', s=200)

7、使用颜色映射

颜色映射是一系列颜色,它们从起始颜色渐变到结束颜色。在可视化中,颜色映射用于突出数据的规律。

plt.scatter(x_values, y_values, c = y_values, cmap=plt.cm.Blues, edgecolor='none', s=200)

将参数设置成了一个y值列表,并使用cmap告诉pyplot使用哪一种颜色映射。这些代码将y值较小的点显示为浅蓝色,将y值较大的点显示为深蓝色。

8、自动保存图表

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

第一个实参指定保存的文件名,在该语句中,图表将保存到源文件所在的目录中;

第二个参数指定将图表中的空白区域剪裁掉。(如果希望保图表周围多余的空白区域,可以忽略这个参数)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值