python3-matplotlib自学笔记

一、安装matplotlib

打开CMD命令行,输入pip install matplotlib
测试安装结果,打开python,输入import matplotlib没有报错,则表示安装成功。
在这里插入图片描述
要查看使用matplotlib可制作的各种图标,访问https://matplotlib.org/,单击画廊中的图表,即可查看用于生成各种图标的代码。

二、绘制简单的折线图

1.绘制简单折线图

import matplotlib.pyplot as plt

squares=[1,4,9,16,25]
plt.plot(squares)#类似于MATLAB,但是比MATLAB麻烦点
plt.show()#打开matplotlib的查看器

在这里插入图片描述
2.修改标签文字和线条粗细

import matplotlib.pyplot as plt

squares=[1,4,9,16,25]
plt.plot(squares,linewidth=5)#参数linewidth决定了线条的粗细

plt.title("easy matplotlib",fontsize=24)#title给表格增加标题,并且可以规定字体大小,貌似不支持中文
plt.xlabel("Value",fontsize=14)#
plt.ylabel("Value",fontsize=14)#x/ylabel设置坐标轴设置名称及字体大小

plt.tick_params(axis='both',labelsize=14)#tick_params设置刻度样式

plt.show()#打开matplotliblib查看器

在这里插入图片描述
3.矫正图形
图形绘制完成后,我们发现,我们并没有正确的绘制数据,我们的理想应该是y轴为横坐标的平方,但是以上图形显然不是。
下面我们来解决这个问题,当我们向plot()提供一系列数字时,它假设第一个点对应的x坐标为0,我们可以同时给它提供输入值和输出值。

import matplotlib.pyplot as plt

input_value=list(range(1,6))
for i in range (0,5):
    print(input_value[i])

squares=[1,4,9,16,25]
plt.plot(input_value,squares,linewidth=5)#同时向plot输入参数input_value

---skip---

在这里插入图片描述
三、使用scatter()绘制散点图并设置样式
要绘制单个点,就可以使用函数scatter(),并向他传递一对x和y的坐标,它将在指定的位置绘制一个点。
1.绘制简单散点图

import matplotlib.pyplot as plt

x_value=list(range(1,5))
y_value=[x**2 for x in x_value]


plt.scatter(x_value,y_value,s=40)#绘制散点及设置点的大小

#设置图标标题并给坐标轴加上标签
plt.title("Square Number",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()#打开matplotlib的查看器

在这里插入图片描述
如果点多,则会连成一条线。
在这里插入图片描述
2.删除数据点的轮廓

plt.scatter(x_value,y_value,edgecolor='none',s=40)#绘制散点及设置点的大小

3.自定义点的颜色

plt.scatter(x_value,y_value,c='red',edgecolor='none',s=40)#绘制散点及设置点的大小

也可以是使用RGB三原色定义。
4.使用颜色映射
有时候我们希望我们的散点图,随着数值增大,颜色渐变。

plt.scatter(x_value,y_value,cmap=plt.cm.Blues,edgecolor='none',s=40)#绘制散点及设置点的大小

5.自动保存图表

plt.savefig('squares_plot.png',bbox_inches='tight')#第一个参数为文件位置,第二个参数减掉图片的多余空白区域
原创文章 48 获赞 57 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_43597899/article/details/101040199
今日推荐