【matplotlib】绘图模块介绍

目录

一、绘制简单的折线图

1、代码如下:(1.0)

输出如下:

假设我们想要保存这张图片怎么办呢?

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

 3、有个小问题

二、scatter()绘制散点图

1、绘制一些点:

2、绘制1-1000的平方点 

3、颜色映射


有关plot函数:Python直接使用plot()函数画图_Sheenky的博客-CSDN博客_python plot

一、绘制简单的折线图

我们以数的平方为例子,取1-6

1、代码如下:(1.0)

我们导入模块pyplot 并起个别名 plt,省的每次都要输个完整的pyplot实在是太不方便了

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

import matplotlib.pyplot as plt # 起别名

squares = [1,4,9,16,25,36]  # 可以看到 其实是n的平方
plt.plot(squares)
plt.show() # 打开matplotlib查看器,并显示绘制图形

输出如下:

2600cbc1e5f649fab07b0b37927e204f.png

假设我们想要保存这张图片怎么办呢?

两种方法

1、我所用的idea直接右键另存为就行了

87235a2faf4448439f4bbb2eda81dcdf.png 2、自动保存

plt.savefig('name.png',bbox_inches='tight')
# 第二个参数是裁掉图表中多余的空白区域

实在太方便了 

cd613d3f6fde4e08ab1e09d8eac096c3.png

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

import matplotlib.pyplot as plt  # 我们导入模块pyplot 并起个别名 plt,省的每次都要输个完整的pyplot实在是太不方便了

squares = [1, 4, 9, 16, 25, 36]  # 可以看到 其实是n的平方
plt.plot(squares,linewidth=5) # 线条粗细
# 设置标题和x,y轴
plt.title("Squares of num",fontsize=22)
plt.xlabel('num',fontsize=12,color='red')
plt.ylabel('num de squares',fontsize=12,color='blue')
plt.tick_params(axis='both',labelsize=10)
plt.show()

设置标题,x,y轴,字体大小,当然还可以设置颜色

linewidth 决定plot()绘制的线条粗细

title() 给图表起个名字

参数fontsize 制定了图表中文字的大小

xlabel、ylabel 给这两条轴起名

函数tick_params()

第一个参数:axis='both'说明对两个轴都起作用

第二个参数:刻度标记的字号大小

它的一些常用参数:

axis——轴:{ ’ x ’ ,’ y ’ ,’ both ’ }
参数axis的值分别代表设置X轴、Y轴以及同时设置。默认值为 ’ both ’ 。
reset——重置:布尔
如果为True,则在处理其他关键字参数之前将所有参数设置为默认值。默认值为False。
which——其中:{ ‘ major ’ ,‘ minor ’ ,‘ both ’ }
参数which的值分别代表为“主要”,“次要”,“两者”。默认值为’ major '。
direction / tickdir——方向: {‘in’,‘out’,‘inout’}
将刻度线置于轴内,轴外或两者皆有。
size / length——长度:浮点
刻度线长度(以磅为单位)。
width——宽度:浮动
刻度线宽度(以磅为单位)。
color——颜色:颜色
刻度颜色;接受任何mpl颜色规格。
pad——垫:浮球
刻度和标签之间的距离(以磅为单位)。
labelsize——标签大小:float 或 str
刻度标签字体大小(以磅为单位)或字符串(例如,“大”)。
labelcolor——标签颜色:颜色
刻度标签颜色;mpl颜色规格
colors——颜色:颜色
将刻度颜色和标签颜色更改为相同的值:mpl color spec。
zorder——zorder:浮动
勾选并标记zorder。
bottom,top,left,right——底部,顶部,左侧,右侧:布尔
是否绘制各个刻度。
labelbottom,labeltop,labelleft,labelright——标签底部,标签顶部,标签左侧,标签右侧:布尔
是否绘制各个刻度标签。
labelrotation:浮动
刻度线标签逆时针旋转给定的度数
gridOn——网格线:布尔
是否添加网格线
grid_color——网格线颜色:颜色
将网格线颜色更改为给定的mpl颜色规格。
grid_alpha——网格线透明度:浮点数
网格线的透明度:0(透明)至1(不透明)。
grid_linewidth——网格线宽度:浮点数
网格线的宽度(以磅为单位)。
grid_linestyle——网格线型:字符串
任何有效的Line2D线型规范。

0bb3df4133514ec5bd3e892a5e22c286.png

 3、有个小问题

经过第二步的操作,图形相比第一步更容易阅读了,但是有个问题

9271cef8b1b34524ba5ff69ffd5cd32a.png

我们可以看到,4的平方不应该是16吗,图上指向25,这显然不对

 why?

因为我们只提供了输出值,没提供输入值

plot()函数它会默认第一个点为0,所以我们2的平方是4,变成了9,都后退了一个

没给那给就行了

 上面代码改一下:

num = [1,2,3,4,5,6]

plt.plot(num,squares,linewidth=5) # 线条粗细

1b1200d9101e4afca3223f92177ddcfa.png

可以看到,正常了 

二、scatter()绘制散点图

1、绘制一些点:

import matplotlib.pyplot as plt

# plt.scatter(3,6,s=100) # 绘制一个点(3,6),s=30是指定点的大小
x = [1,2,3,4,5,6]
y = [1,4,9, 16, 25, 36]
plt.scatter(x,y,s=30)
plt.title("Squares of num",fontsize=24)
plt.xlabel('num',fontsize=12,color='red')
plt.ylabel('num de squares',fontsize=12,color='blue')
# 设置刻度标记的大小
plt.tick_params(axis='both',which='major',labelsize=8)
plt.show()

输出如下:

2、绘制1-1000的平方点 

函数axis()需要四个参数,x和y坐标轴的最小值和最大值

import matplotlib.pyplot as plt

x = list(range(1,1001))
y = [xi**2 for xi in x]
plt.scatter(x,y,s=1)
# 设置每个坐标轴的取值范围
plt.axis([0,1100,0,1100000])
plt.title("Squares of num",fontsize=24)
plt.xlabel('num',fontsize=12,color='red')
plt.ylabel('num de squares',fontsize=12,color='blue')
# 设置刻度标记的大小
plt.tick_params(axis='both',which='major',labelsize=8)
plt.show()

输出:(点的颜色默认为:蓝色点。黑色轮廓)

 改一下

plt.scatter(x,y,s=1,edgecolors='none')

 

 再改一下:

plt.scatter(x,y,s=1,edgecolors='none',c='red')

也可以用RGB模式

c=(0,0,0.8) 

 3、颜色映射

import matplotlib.pyplot as plt

x = list(range(1001))
y = [xi**2 for xi in x]
plt.scatter(x,y,c=y,cmap=plt.cm.Reds,edgecolors='none',s=30)
plt.show()

可以看到渐变色 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值