绘制折线图
plot(*args,**kwargs)
参数名称 | 含义 |
---|---|
args | 前2个位置参数用来设置折线图上若干个端点坐标; 第一个参数位置:x坐标; 第二个参数位置:y坐标; 第三个参数位置:颜色、线型、标记符号形状:
|
kwargs |
|
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.pyplot as plt
#模拟数据
x = np.arange(0, 2 * np.pi, 0.1)
y = np.sin(x)
#画图并显示
plt.plot(x,y)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 2 * np.pi, 0.1)
y = np.sin(x)
plt.plot(x,y,color='green',linewidth=1,linestyle='--',marker='o',markersize=2)
plt.xlabel('X label') #x轴标题
plt.ylabel('Y label') #y轴标题
plt.xlim(0,2*np.pi) #设置x轴的范围
plt.ylim(-1,1) #设置y轴的范围
plt.text(np.pi/2, max(y),'Max',fontsize=14) #添加文字
plt.scatter([np.pi/2], [max(y)], marker='*', color='red', s=120) #画个记号
plt.title('our first plot') #图标标题
plt.show()
中文显示
#图上显示中文的问题
import matplotlib.pyplot as plt
import matplotlib as mpl
# 生成x轴数据 列表推导式
x_data = [i for i in range(0, 55, 5)]
# 构造y轴数据
y_data1 = [0.5, 0.62, 0.72, 0.78, 0.85, 0.7, 0.64, 0.44, 0.29, 0.15, 0.09]
y_data2 = [0.5, 0.67, 0.71, 0.76, 0.79, 0.66, 0.58, 0.44, 0.38, 0.26, 0.18]
y_data3 = [0.5, 0.59, 0.72, 0.74, 0.76, 0.68, 0.58, 0.48, 0.4, 0.36, 0.3]
# matplotlib其实是不支持显示中文的 显示中文需要一行代码设置字体
mpl.rcParams['font.family'] = 'STKAITI' #'STKAITI'——字体
plt.rcParams['axes.unicode_minus'] = False # 解决坐标轴负数的负号显示问题
# 设置图形显示风格
#plt.style.use('ggplot')
# 设置figure大小、像素
plt.figure(figsize=(6, 4), dpi=100)
# 绘制三条折线 点的形状 颜色 标签:用于图例显示
plt.plot(x_data, y_data1, marker='^', color="k", label="设备1")
plt.plot(x_data, y_data2, marker="o", color="k", label="设备2")
plt.plot(x_data, y_data3, marker="s", color="k", label="设备3")
# x y 轴标签 字体大小
plt.xlabel("时间周期/min", fontsize=13)
plt.ylabel("直接信任度值", fontsize=13)
# 显示图例
plt.legend()
# 保存图片 展示show
plt.savefig("折线图01.png", dpi=200)
plt.show()
子图设置
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 2 * np.pi, 0.1)
y_sin = np.sin(x)
y_cos = np.cos(x)
# 创建画布,切分绘图区域
figure = plt.figure(figsize=(8,4),dpi=100)
#各子图位置
ax1 = plt.subplot(1, 2, 1)
ax2 = plt.subplot(1, 2, 2)
# 绘制两条曲线
l1=ax1.plot(x, y_sin,'r--') # 绘制第一个子图
l2=ax2.plot(x, y_cos,'b-') # 绘制第二个子图
#设置显示标题
ax1.set_title('sin curve')
ax2.set_title('cos curve')
#调整子图之间距离
plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=0.6, hspace=0.5)
plt.show()
参考来源:https://www.jb51.net/article/211847.htm