机器学习matplotlib库练习-函数绘图

Posted lpworld

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习matplotlib库练习-函数绘图相关的知识,希望对你有一定的参考价值。

# 1创建2个图形区域,一个叫做green,大小是16,8,一个叫做red,大小是10,6
# 2绿色区域画一条绿色的正弦曲线,红色区域化两条线,一条是绿色的正弦曲线,一条是红色的余弦曲线
# 3在green的绿色的正弦曲线上,把sin(π/6)=1/2这个公式参照课件中的标注方式进行标注
# 4坐标轴的刻度分别是x:-π,-π/2,π/2,π y:-1,-0.5,0,0.5,1
# 5坐标轴的交点要求在原点坐标,设置坐标轴,隐去右边线和上边线,将下边线和左边线设置为原点
# 6将图例设置显示并放在图形的右上方
import numpy as np
import  matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator

# 显示中文
plt.rcParams[font.sans-serif] = [SimHei]
# 解决无法显示负号
plt.rcParams[axes.unicode_minus] = False

#1
plt.figure(figsize=(30,10))
rect1 = [1/30, 1/10, 16/30, 8/10] # [左, 下, 宽, 高] 规定的矩形区域 (全部是0~1之间的数,表示比例)
rect2 = [18/30, 1/10, 10/30, 6/10]
green = plt.axes(rect1)
red = plt.axes(rect2)
# plt.show()

#2
x1 = np.linspace(0.0, 8.0)
x2 = np.linspace(0.0, 5.0)
x3 = np.linspace(0.0, 5.0)
y1=np.sin(x1)
y2=np.cos(x2)
y3=np.sin(x3)
green.plot(x1, y1, color=green, ms=3, label="y=sin(x)")
red.plot(x3, y3, color=green, ms=3,label="y=sin(x)")
red.plot(x2, y2, color=red, ms=3,label="y=cos(x)")
# plt.show()

#3
#r‘$xxxx$‘
#xy=标注点位置
#xytext:描述框相对xy位置
#textcoords=‘offset points‘,以xy为原点偏移xytext
#arrowprops = 画弧线箭头,‘---->‘, rad=.2-->0.2弧度
green.annotate(r$sin(π/6)=1/2$,xy=(np.pi/6,1/2),xytext=(+30,-30),textcoords=offset points,fontsize=16,
             arrowprops=dict(arrowstyle=->,connectionstyle=arc3,rad=.2))
# plt.show()

#4
x_major_locator=MultipleLocator(np.pi/2)
y_major_locator=MultipleLocator(1/2)
green.xaxis.set_major_locator(x_major_locator)
green.yaxis.set_major_locator(y_major_locator)
red.xaxis.set_major_locator(x_major_locator)
red.yaxis.set_major_locator(y_major_locator)
# plt.show()

#5
green.spines[top].set_visible(False)
green.spines[right].set_visible(False)
green.spines[bottom].set_position((data,0))#data表示通过值来设置x轴的位置,将x轴绑定在y=0的位置
green.spines[left].set_position((data,0))#data表示通过值来设置y轴的位置,将y轴绑定在x=0的位置
red.spines[top].set_visible(False)
red.spines[right].set_visible(False)
red.spines[bottom].set_position((data,0))#data表示通过值来设置x轴的位置,将x轴绑定在y=0的位置
red.spines[left].set_position((data,0))#data表示通过值来设置y轴的位置,将y轴绑定在x=0的位置
# plt.show()

#6
green.legend(loc=upper right)
red.legend(loc=upper right)
plt.show()

 

以上是关于机器学习matplotlib库练习-函数绘图的主要内容,如果未能解决你的问题,请参考以下文章

Python机器学习(六十七)Matplotlib 图形绘制

Python机器学习入门——科学计算库(Matplotlib)

机器学习三剑客之Matplotlib基本操作

Python基础 | 还不会python绘图?两万字博文教你Matplotlib库(超详细总结)

抛弃MATLAB,一本书掌握Python强大的绘图库Matplotlib

numpy与Matplotlib