赞
踩
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=15) # 导入中文字体,打印中文标签
x = np.linspace(start=0, stop=np.pi*2, num=30) # 从x轴0到2Π之间,生成100个数据点
ys, yc = np.cos(x), np.sin(x) # y轴,y与x对应函数映射
# plot(*args,fmt,data=None,**kwargs) args:x,y fmt:线颜色 # **kwargs:线宽度(linewidth=2),颜色(color='blue'),图标(marker='o',markersize=12),线风格(linestyle='dashed') plt.figure(1) plt.subplot(221) # 点图,必须指定图标,且不能有关于线的指定条件,否则将会画成线 plt.plot(x, ys, '.', color='blue') plt.plot(x, yc, '.', color='green') # 线型图 plt.subplot(222) plt.plot(x, ys, color='blue') plt.plot(x, yc, color='red') # 虚线 线风格(linestyle='dashed','-','--','-.',':') plt.subplot(223) plt.plot(x, ys, marker='o', color='blue', linestyle='--') plt.plot(x, yc, marker='o', color='red', linestyle='--') # 改坐标标签 plt.subplot(224) plt.plot(x, ys) plt.plot(x, yc) plt.xlabel('坐标轴x', fontproperties=font) plt.ylabel('坐标轴y', fontproperties=font) plt.title('cos & sin', fontproperties=font) plt.show()
图1为散点图,图2为线型图,图三设置线风格,图4设置标签
plt.figure(2) x1 = np.arange(-np.pi, np.pi, 0.05) # 在x轴-Π到Π之间,以0.05为间隔生成数据点 ys, yc = np.cos(x1), np.sin(x1) # y轴,y与x对应函数映射 plt.plot(x1, ys) plt.plot(x1, yc) # 文本标题标注text(x, y, s, **kwargs) x,y:位置,kwargs:字体属性 plt.text(x=-1, y=-0.75, s='cos & sin', fontsize=20, fontweight='heavy') # 箭头标注arrow(x, y, dx, dy, **kwargs) plt.arrow(x=-2.0, y=0.75, dx=2.0, dy=0.25, width=0.02, fc='green') # 复杂标注 plt.annotate(text='Top max', xy=(-2.5, 0.68), color='red') plt.show()
plt.figure(3) x1 = np.arange(-np.pi, np.pi, 0.05) # 在x轴-Π到Π之间,以0.05为间隔生成数据点 ys, yc = np.cos(x1), np.sin(x1) # y轴,y与x对应函数映射 plt.plot(x1, ys) plt.plot(x1, yc) # 移动刻度线 ax = plt.gca() # 获取当前axes类实例 # 用spines设置颜色值为none,把右刻度线和顶刻度线隐藏 ax.spines['right'].set_color('none') ax.spines['top'].set_color('none') ax.xaxis.set_ticks_position('bottom') # 把x轴刻度线位置设置为bottom ax.spines['bottom'].set_position(('data', 0)) # 把底部的刻度线设置到数据区域的0位置 ax.yaxis.set_ticks_position('left') # 把y轴刻度线位置设置为left ax.spines['left'].set_position(('data', 0)) # 把左部的刻度线设置到数据区域的0位置 plt.show()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。