python生成折线图怎么对特定点做颜色_python使用matplotlib绘制简单的折线图和散点图...

生成数据

数据可视化

数据可视化指的是通过可视化表示来探索数据,它与数据挖掘机密相关。

安装matplotlib

请访问https://pypi.python.org/pypi/matplotlib/,

并查找与你使用的python版本匹配的wheel文件,例如,我是用的是64位的python3.7,则需要下载的是matplotlib-3.1.1-cp37-cp37m-win_amd64.whl。

将你下载好的.whl文件复制到你的项目文件夹,打开一个命令窗口(windows+r,然后输入cmd),再使用pip 来安装matplotlib:

cd 目标文件夹

目标文件夹> python -m pip install --user matplotlib-3.1.1-cp37-cp37m-win_amd64.whl 就欧克了

下一步,就是测试matplotlib了,在编辑器中import matplotlib,不报错就表示你已近成功了。

绘制简单的折线图

import matplotlib.pyplot as plt

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

plt.plot(squares)

plt.show()1

2

3

4

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE3MTY2MjU1,size_16,color_FFFFFF,t_70

大家是不是发现了折线图的终点指出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()1

2

3

4

5

第一种方法即,增加一个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()1

2

3

4

5

第两种方法是指我们可以给plot()同时提供输入值和输出值。

上面两种代码的运行结果如图所示:

z

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE3MTY2MjU1,size_16,color_FFFFFF,t_70

这样就没有问题了吧。

同时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()1

2

3

4

5

6

7

8

9

10

11

此时我们首先引入了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查看器,并显示绘制的图形。这样说大家明白了吧。

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

直接上个代码:

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

2

3

4

5

6

7

8

9

10

我想大家凭借聪明的头脑已经可以读懂这个程序了,这里跟上面稍有不同的就是plt.scatter(2,4,s=200)#s是设置点的尺寸,2是点的横坐标,4是纵坐标,s是点的尺寸。其余的就不多说了,下面是结果图

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE3MTY2MjU1,size_16,color_FFFFFF,t_70

当然咱们作图的时候不可能只用一个点,下面咱们来画一系列的点,

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

2

3

4

5

6

7

8

9

10

11

列表x_values包含要计算其平方的数字,y_values包含x对应数字的平方值,将这些列表传递给scatter()时,matplotlib依次从每个列表读取一个值来绘制一个点。要绘制的点分别为(1,1)(2,4)(3,9)(4,16)(5,25),最终结果如下图:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE3MTY2MjU1,size_16,color_FFFFFF,t_70

这样就大功告成了。

上面就是matplotlib生成折线图和散点图的做法,当然matplotlib还有很多用途,这些用途咱们以后会讲到,十分感谢大家阅读。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值