使用 matplotlib绘制简单图形,保存图片的方法

本博客介绍如何使用 matplotlib 绘制简单的图形,并介绍保存图片的方法。
matplotlib 可以绘制出很高级,很复杂的图形,本篇博客不做介绍,可以查看官方文档,写的很清楚,这里仅对部分使用频率比较高的图形做介绍

一、绘制折线图

1.示例代码:

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-2*np.pi,2*np.pi,400)
siny=np.sin(x)
cosy=np.cos(x)

plt.plot(x,siny,color="red",label="sin(x)")
plt.plot(x,cosy,color="blue",label="cos(x)",linestyle="--")
plt.xlabel("输入数据 x")
plt.ylabel("sin(x) 或者 cos(x)")
plt.title("三角函数图")
plt.legend()
plt.show()

2.输出图片:

在这里插入图片描述

3.函数和参数

  • plot()函数:用于绘制折线图。
    参数如下:
    • x:横轴数据,必选
    • y:纵轴数据,必选
    • color:线条颜色,可选。支持16进制颜色,例如: “#0eff00”,另外还支持 red,blue,black等颜色单词。
    • label:线条代表的含义,与 legend() 函数一起使用,起到图例的作用。
    • linestyle:线条样式,默认是直线(图中是曲线,因为我点比较密集,所以就看不出来是折线图了)。除此之外还可以有多种样式,读者可以填入 “:”,"–","-." 等看看样式效果。
  • xlabel(),ylabel()函数:用于标注x轴和 y 轴,使图像更加易于理解。
  • title()函数:用于给图片添加标题,使得图片易于理解。
  • legend()函数:用于给线条加上注释,使得图像利于理解。
  • show()函数:用于最终展示图像。

二、绘制散点图

1.代码示例

import matplotlib.pyplot as plt
import numpy as np

x=np.random.normal(0,1,size=10000)
y=np.random.normal(0,1,size=10000)

plt.scatter(x,y,color="blue",marker="o",alpha=0.1,label="二维正太分布的点")
plt.title("二维正态分布散点图")
plt.xlabel("正态分布 x")
plt.ylabel("正太分布 y")
plt.legend()
plt.savefig(fname="scatter.png",figsize=[10,10])
plt.show()

2.输出图片

在这里插入图片描述

2.函数和参数

  • scatter()函数:用于绘制散点图像。
    参数和plot 的大部分参数一致。
    • alpha:设置透明度,值的范围为 0-1。
    • marker:用来设置点的样式,“o” 表示圆点,"+" 表示 + 点,“x” 表示 x点,例子如下:
import matplotlib.pyplot as plt
import sklearn.datasets as datasets

iris=datasets.load_iris()
x=iris.data
y=iris.target

plt.scatter(x[y==0][:,0],x[y==0][:,2],marker="o",label="第一类鸢尾花")
plt.scatter(x[y==1][:,0],x[y==1][:,2],marker="x",label="第二类鸢尾花")
plt.scatter(x[y==2][:,0],x[y==2][:,2],marker="+",label="第三类鸢尾花")
plt.title("sklearn 鸢尾花数据集可视化")
plt.xlabel("特征一 X")
plt.ylabel("特征二 Y")
plt.legend()
plt.savefig(fname="scatter.png",figsize=[10,10])
plt.show()

图像如图所示:
在这里插入图片描述

三、保存图片

1.代码示例:

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-2*np.pi,2*np.pi,400)
siny=np.sin(x)
cosy=np.cos(x)

plt.plot(x,siny,color="red",label="sin(x)")
plt.plot(x,cosy,color="blue",label="cos(x)",linestyle="--")
plt.xlabel("输入数据 x")
plt.ylabel("sin(x) 或者 cos(x)")
plt.title("三角函数图")
plt.legend()
plt.savefig(fname="pic.png",figsize=[10,10])
plt.show()

2.函数和参数

  • savefig()函数:用于保存图像。
    参数如下:
    • fname:保存的图片文件的名称,必选。
    • figsize:保存图像的大小,单位为英寸,必选。

四、故障问题

不少人表示 matplotlib 不能正常显示中文,其实需要做一下配置,配置方法请参考:https://blog.csdn.net/qq_38863413/article/details/102662573

发布了57 篇原创文章 · 获赞 27 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_38863413/article/details/104321591