Python学习之:matplotlib.pyplot 绘制线图和散点图的细节注意

1. 绘制散点图

import matplotlib.pyplot as plt

x = list(range(1,50))
y = [i**2 for i in x]

plt.scatter(x,y,s=40) //这里前两个参数分别是x,y的列表,第三个是点的大小
plt.show()

在这里插入图片描述

我也可以随机产生 300 个取值范围在1-5000之间的点

y = []
x = []
for i in range(1,300):
    out = randint(1,5000)
    y.append(out)
    x.append(i)

plt.scatter(x,y,s=40)
plt.show()

在这里插入图片描述

1.1 将散点图着色

只需要将散点图中的 c 参数设置为想要的颜色即可

plt.scatter(x,y,s=40,c='red')
plt.show()

在这里插入图片描述

1.2 将散点图进行颜色映射 cmap

颜色映射可以产生渐变的效果,但是 c 的位置就是设置成颜色那么简单了,比如我想让图中的点按照 x 进行映射,就如下:

plt.scatter(x,y,s=40,c=x,cmap=plt.cm.Reds)
plt.show()

在这里插入图片描述
可以尝试一下按照 y 方向进行渐变,方法也是一样的。

1.3 设置图中的 title,lable,ticks

from random import randint
import matplotlib.pyplot as plt
y = []
x = []
for i in range(1,300):
    out = randint(1,5000)
    y.append(out)
    x.append(i)

plt.scatter(x,y,s=40,c=x,cmap=plt.cm.Reds)
plt.title("Scatters",fontsize=24)
plt.xlabel("x ticks",fontsize=20)
plt.ylabel("y Value",fontsize=14)
plt.show()

在这里插入图片描述

当然,x,y的坐标标签是可以旋转和调整的,使用如下代码将坐标轴的标签旋转20°:

plt.xticks(rotation=20)
plt.yticks(rotation=20)
plt.show()

在这里插入图片描述

1.4 设置坐标轴的取值范围

plt.axis([200,300,1000,5000])

在这里插入图片描述

1.5 隐藏坐标轴

plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)

在这里插入图片描述

1.6 调整绘图窗口尺寸

plt.figure(figsize=(10,6))

在这里插入图片描述

1.7 调整刻度标签

plt.tick_params(axis='x',labelsize=20)
plt.tick_params(axis='y',labelsize=30)

在这里插入图片描述
当然如果想要 x,y的刻度标签尺寸保持一致,那么:

plt.tick_params(axis='both',labelsize=10)

在这里插入图片描述

2. 绘制线图

import matplotlib.pyplot as plt

x = list(range(1,50))
y = [i**2 for i in x]

plt.plot(x,y,linewidth=5,c='green') //linewidth表示的是线的宽度
plt.show()

在这里插入图片描述

2.1 绘制线图的基本技巧

其基本技巧和散点图几乎完全一样,唯独线图不可以实现 颜色映射,其余的散点图功能都可以完成。

import matplotlib.pyplot as plt

x = list(range(1,50))
y = [i**2 for i in x]

plt.figure(dpi=128,figsize=(10,6)) //图尺寸,像素显示
plt.plot(x,y,linewidth=5,c='green') //绘制线图,线宽=5
plt.xlabel('x axis',fontsize=14)   //x轴标签,字体14
plt.ylabel('y axis',fontsize=14)   //y轴标签,字体14
plt.title('square',fontsize=20)	   //整个图的title,字体20
plt.tick_params(axis='both',labelsize=10)  //调整刻度的标签尺寸10
plt.xticks(rotation=20)						//x轴刻度标签旋转20°
plt.yticks(rotation=20)						//y轴刻度标签旋转20°
plt.axis([10,60,10,3500])					//x,y轴刻度显示的范围

plt.show()
plt.savefig('图表.png',bbox_inches='tight')  //保存的方式为“紧凑型”

在这里插入图片描述

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值