刻度、标签和图例
对于大多数的图表装饰项,其主要实现方式有二:使用过程型的pyplot接口以及更为面向对象的原生matplotlib API
pyplot接口的设计目的就是交互式使用
调用时不带参数,则返回当前的参数值。
调用时带参数,则设置参数值。
设置标题、轴标签、刻度以及刻度标签
说明自定义轴,创建一个简单的图像并绘制一段随机漫步
=====================================
要改变x轴刻度,最简单的办法是使用set_xticks和set_xticklabels。
可以通过set_xticklabels将任何其他的值用作标签。
>>> ticks = ax.set_xticks([0, 250, 500, 750, 1000])
>>> labels = ax.set_xticklabels(['one', 'two', 'three', 'four', 'five'],rotation=30, fontsize='small')
=====================================
rotation选项设定x刻度标签倾斜30度。用set_xlabel为X轴设置一个名称, 并用set_title设置一个标题
=====================================
Y轴的修改方式与此类似,将上述代码中的x替换为y即可。轴的类有集合方法,可以批量设定绘图选项。
添加图例
图例(legend)是另一种用于标识图表元素的重要工具。添加图例的方式有多种。 最简单的是在添加subplot的时候传入label参数
=====================================
可以调用ax.legend()或plt.legend()来自动创建图例
ax.legend(loc='best')
注解以及在Subplot上绘图
除标准的绘图类型,绘制一些子集的注解,可能是文本、箭头或其他 图形等。注解和文字可以通过text、arrow和annotate函数进行添加。text可以将文本绘制在图表的指定坐标(x,y),还可以加上一些自定义格式。
ax.text(x, y, 'Hello world!', family='monospace', fontsize=10)
=====================================
注解中可以既含有文本也含有箭头。
from datetime import datetime
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
data = pd.read_csv('examples/spx.csv', index_col=0, parse_dates= True)
spx = data['SPX']
spx.plot(ax=ax, style='k-')
crisis_data = [ (datetime(2007, 10, 11), 'Peak of bull market'), (datetime(2008, 3, 12), 'Bear Stearns Fails'), (datetime(2008, 9, 15), 'Lehman Bankruptcy') ]
for date, label in crisis_data: ax.annotate(label, xy=(date, spx.asof(date) + 75), xytext=(date, spx.asof(date) + 225), arrowprops=dict(facecolor='black', headwidth=4, width=2, headlength=4), horizontalalignment='left', verticalalignment='t op')
# Zoom in on 2007-2010
ax.set_xlim(['1/1/2007', '1/1/2011'])
ax.set_ylim([600, 1800])
ax.set_title('Important dates in the 2008-2009 financial crisis' )
=====================================
图形的绘制要麻烦一些。matplotlib有一些表示常见图形的对象。这些对象被称为块(patch)。其中有些(如Rectangle和Circle),可以在matplotlib.pyplot中找到, 但完整集合位于matplotlib.patches。
要在图表中添加一个图形,你需要创建一个块对象shp,然后通过ax.add_patch(shp)将其添加到subplot中。
++++++++++++++++++++++++++++++++++++
下一篇:matplotlib(四)
来源:CSDN
作者:LinGavinQ
链接:https://blog.csdn.net/qq_42893334/article/details/104080988