<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 简单线图
先设置ipython notebook 作图环境
Step1:  对于所有Matplotlib图，我们首先创建一个图形和一个轴。以最简单的形式，可以如下创建图形和轴：
Step2:  在Matplotlib中，图形（类plt.Figure的一个实例）可以被认为是一个包含所有代表轴，图形，文本和标签的对象的容器。轴（类plt.Axes的实例）就是我们在上面看到的：一个带有刻度和标签的边界框，该边界框最终将包含构成我们可视化的绘图元素。在本书中，我们通常使用变量名fig来引用图形实例，并使用ax来引用轴实例或一组轴实例。
创建轴后，可以使用ax.plot函数绘制一些数据。让我们从一个简单的正弦波开始：
Step3:  或者，我们可以使用pylab界面，并在后台为我们创建图形和轴：
Step4:  如果想在一个图中，画出多条曲线，可以调用多次plot()
Step5:  这就是在Matplotlib中绘制简单函数！现在，我们将深入探讨有关如何控制轴和线的外观的更多详细信息。
调整图：线条颜色和样式
您可能希望对图形进行的第一个调整是控制线条的颜色和样式。 plt.plot（）函数采用其他可用于指定这些参数的参数。要调整颜色，可以使用color关键字，该关键字接受一个表示几乎任何可想象的颜色的字符串参数。可以通过多种方式指定颜色：
Step6:  如果未指定颜色，则Matplotlib将自动在一组默认颜色中循环显示多行。
同样，可以使用linestyle关键字调整线条样式：
Step7:  如果您想更简洁，可以将这些线型和颜色代码组合到plt.plot（）函数的单个非关键字参数中：
Step8:  这些单字符颜色代码反映了通常用于数字彩色图形的RGB（红色/绿色/蓝色）和CMYK（青色/品红色/黄色/黑色）颜色系统中的标准缩写。
还有许多其他关键字参数可用于微调图的外观。有关更多详细信息，建议使用IPython的帮助工具查看plt.plot（）函数的文档字符串（请参阅IPython中的帮助和文档）。
调整图：轴极限
Matplotlib在为绘图选择默认轴限制方面做得不错，但是有时候更好的控制会很好。调整轴限制的最基本方法是使用plt.xlim（）和plt.ylim（）方法：
Step9:  一个有用的相关方法是plt.axis（）（在此注意带有e的轴和带有i的轴之间的潜在混淆）。通过传递一个指定[xmin，xmax，ymin，ymax]的列表，可以使用plt.axis（）方法通过一次调用来设置x和y限制：
Step10:  plt.axis（）方法甚至超越了此范围，允许您执行诸如自动收紧当前图的边界之类的操作：
Step11:  它甚至允许更高级别的规格，例如确保长宽比相等，以便在屏幕上x中的一个单位等于y中的一个单位：
Step12:  有关轴限制和plt.axis方法的其他功能的更多信息，可以参考plt.axis文档字符串。
标记图
作为本节的最后一部分，我们将简要介绍绘图的标签：标题，轴标签和简单图例。
标题和轴标签是最简单的此类标签-有些方法可用于快速设置它们：
Step13:  可以使用函数的可选参数来调整这些标签的位置，大小和样式。有关更多信息，请参见Matplotlib文档和每个函数的文档字符串。
当在单个轴上显示多条线时，创建标记每个线型的打印图例可能很有用。同样，Matplotlib具有快速创建此类图例的内置方法。通过plt.legend（）方法完成。尽管有几种有效的用法，但我发现使用plot函数的label关键字指定每条线的标签最简单：
Step14:  如您所见，plt.legend（）函数跟踪线条样式和颜色，并将它们与正确的标签匹配。在plt.legend文档字符串中可以找到有关指定和格式化图例的更多信息。此外，我们将在“自定义绘图图例”中介绍一些更高级的图例选项。
Matplotlib陷阱
尽管大多数plt函数直接转换为ax方法（例如plt.plot（）→ax.plot（），plt.legend（）→ax.legend（）等），但并非所有命令都如此。特别是，用于设置限制，标签和标题的功能略有修改。为了在MATLAB样式的函数和面向对象的方法之间转换，请进行以下更改：
plt.xlabel() → ax.set_xlabel()
plt.ylabel() → ax.set_ylabel()
plt.xlim() → ax.set_xlim()
plt.ylim() → ax.set_ylim()
plt.title() → ax.set_title()
在绘图的面向对象的界面中，而不是单独调用这些函数，使用ax.set（）方法一次设置所有这些属性通常更为方便：
<ASSISTANT_TASK:>
Python Code:
%matplotlib inline
import matplotlib.pyplot as plt
#使用seaborn-whitegrid风格
plt.style.use('seaborn-whitegrid')
import numpy as np
Explanation: 简单线图
先设置ipython notebook 作图环境
End of explanation
fig = plt.figure()
ax = plt.axes()
Explanation: 对于所有Matplotlib图，我们首先创建一个图形和一个轴。以最简单的形式，可以如下创建图形和轴：
End of explanation
fig = plt.figure()
ax = plt.axes()
x = np.linspace(0, 10, 1000)
ax.plot(x, np.sin(x));
Explanation: 在Matplotlib中，图形（类plt.Figure的一个实例）可以被认为是一个包含所有代表轴，图形，文本和标签的对象的容器。轴（类plt.Axes的实例）就是我们在上面看到的：一个带有刻度和标签的边界框，该边界框最终将包含构成我们可视化的绘图元素。在本书中，我们通常使用变量名fig来引用图形实例，并使用ax来引用轴实例或一组轴实例。
创建轴后，可以使用ax.plot函数绘制一些数据。让我们从一个简单的正弦波开始：
End of explanation
plt.plot(x, np.sin(x));
Explanation: 或者，我们可以使用pylab界面，并在后台为我们创建图形和轴：
End of explanation
plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x));
Explanation: 如果想在一个图中，画出多条曲线，可以调用多次plot()
End of explanation
plt.plot(x, np.sin(x - 0), color='blue')        # specify color by name
plt.plot(x, np.sin(x - 1), color='g')           # short color code (rgbcmyk)
plt.plot(x, np.sin(x - 2), color='0.75')        # Grayscale between 0 and 1
plt.plot(x, np.sin(x - 3), color='#FFDD44')     # Hex code (RRGGBB from 00 to FF)
plt.plot(x, np.sin(x - 4), color=(1.0,0.2,0.3)) # RGB tuple, values 0 to 1
plt.plot(x, np.sin(x - 5), color='chartreuse'); # all HTML color names supporte
Explanation: 这就是在Matplotlib中绘制简单函数！现在，我们将深入探讨有关如何控制轴和线的外观的更多详细信息。
调整图：线条颜色和样式
您可能希望对图形进行的第一个调整是控制线条的颜色和样式。 plt.plot（）函数采用其他可用于指定这些参数的参数。要调整颜色，可以使用color关键字，该关键字接受一个表示几乎任何可想象的颜色的字符串参数。可以通过多种方式指定颜色：
End of explanation
plt.plot(x, x + 0, linestyle='solid')
plt.plot(x, x + 1, linestyle='dashed')
plt.plot(x, x + 2, linestyle='dashdot')
plt.plot(x, x + 3, linestyle='dotted');
# 也可以使用符合来替代单词
plt.plot(x, x + 4, linestyle='-')  # solid
plt.plot(x, x + 5, linestyle='--') # dashed
plt.plot(x, x + 6, linestyle='-.') # dashdot
plt.plot(x, x + 7, linestyle=':');  # dotted
Explanation: 如果未指定颜色，则Matplotlib将自动在一组默认颜色中循环显示多行。
同样，可以使用linestyle关键字调整线条样式：
End of explanation
plt.plot(x, x + 0, '-g')  # solid green
plt.plot(x, x + 1, '--c') # dashed cyan
plt.plot(x, x + 2, '-.k') # dashdot black
plt.plot(x, x + 3, ':r');  # dotted red
Explanation: 如果您想更简洁，可以将这些线型和颜色代码组合到plt.plot（）函数的单个非关键字参数中：
End of explanation
plt.plot(x, np.sin(x))
# 我们取x轴范围和y轴范围为(-1, 11)和（-1.5，1.5）
plt.xlim(-1, 11)
plt.ylim(-1.5, 1.5);
Explanation: 这些单字符颜色代码反映了通常用于数字彩色图形的RGB（红色/绿色/蓝色）和CMYK（青色/品红色/黄色/黑色）颜色系统中的标准缩写。
还有许多其他关键字参数可用于微调图的外观。有关更多详细信息，建议使用IPython的帮助工具查看plt.plot（）函数的文档字符串（请参阅IPython中的帮助和文档）。
调整图：轴极限
Matplotlib在为绘图选择默认轴限制方面做得不错，但是有时候更好的控制会很好。调整轴限制的最基本方法是使用plt.xlim（）和plt.ylim（）方法：
End of explanation
plt.plot(x, np.cos(x),'--y')
plt.axis([-1, 11, -1.5, 1.5])
Explanation: 一个有用的相关方法是plt.axis（）（在此注意带有e的轴和带有i的轴之间的潜在混淆）。通过传递一个指定[xmin，xmax，ymin，ymax]的列表，可以使用plt.axis（）方法通过一次调用来设置x和y限制：
End of explanation
plt.plot(x, np.sin(x))
plt.axis('tight');
Explanation: plt.axis（）方法甚至超越了此范围，允许您执行诸如自动收紧当前图的边界之类的操作：
End of explanation
plt.plot(x, np.sin(x))
plt.axis('equal');
Explanation: 它甚至允许更高级别的规格，例如确保长宽比相等，以便在屏幕上x中的一个单位等于y中的一个单位：
End of explanation
plt.plot(x,np.sin(x),':r')
plt.title('sin 函数图像')
plt.xlabel('x轴')
plt.ylabel('y轴');
Explanation: 有关轴限制和plt.axis方法的其他功能的更多信息，可以参考plt.axis文档字符串。
标记图
作为本节的最后一部分，我们将简要介绍绘图的标签：标题，轴标签和简单图例。
标题和轴标签是最简单的此类标签-有些方法可用于快速设置它们：
End of explanation
plt.plot(x, np.sin(x), '-g', label='sin(x)')
plt.plot(x, np.cos(x), ':b', label='cos(x)')
plt.axis('equal')
plt.legend();
Explanation: 可以使用函数的可选参数来调整这些标签的位置，大小和样式。有关更多信息，请参见Matplotlib文档和每个函数的文档字符串。
当在单个轴上显示多条线时，创建标记每个线型的打印图例可能很有用。同样，Matplotlib具有快速创建此类图例的内置方法。通过plt.legend（）方法完成。尽管有几种有效的用法，但我发现使用plot函数的label关键字指定每条线的标签最简单：
End of explanation
ax = plt.axes()
ax.plot(x, np.sin(x))
ax.set(xlim=(0, 10), ylim=(-2, 2),
       xlabel='x', ylabel='sin(x)',
       title='A Simple Plot');
Explanation: 如您所见，plt.legend（）函数跟踪线条样式和颜色，并将它们与正确的标签匹配。在plt.legend文档字符串中可以找到有关指定和格式化图例的更多信息。此外，我们将在“自定义绘图图例”中介绍一些更高级的图例选项。
Matplotlib陷阱
尽管大多数plt函数直接转换为ax方法（例如plt.plot（）→ax.plot（），plt.legend（）→ax.legend（）等），但并非所有命令都如此。特别是，用于设置限制，标签和标题的功能略有修改。为了在MATLAB样式的函数和面向对象的方法之间转换，请进行以下更改：
plt.xlabel() → ax.set_xlabel()
plt.ylabel() → ax.set_ylabel()
plt.xlim() → ax.set_xlim()
plt.ylim() → ax.set_ylim()
plt.title() → ax.set_title()
在绘图的面向对象的界面中，而不是单独调用这些函数，使用ax.set（）方法一次设置所有这些属性通常更为方便：
End of explanation
<END_TASK>