正在学习wizardforcel的专栏的:
Python 数据科学入门教程:Matplotlib( 点击打开链接)
其中 第五章 堆叠图 使用 下面源码绘制图形时候出现如下 图表区偏离 Y轴的问题,非常难看。
import matplotlib.pyplot as plt days = [1,2,3,4,5] sleeping = [7,8,6,11,7] eating = [2,3,4,3,2] working = [7,8,7,2,2] playing = [8,5,7,8,13] plt.plot([],[],color='m', label='Sleeping', linewidth=5) plt.plot([],[],color='c', label='Eating', linewidth=5) plt.plot([],[],color='r', label='Working', linewidth=5) plt.plot([],[],color='k', label='Playing', linewidth=5) plt.stackplot(days, sleeping,eating,working,playing, colors=['m','c','r','k']) plt.xlabel('x') plt.ylabel('y') plt.title('Interesting Graph\nCheck it out') plt.legend() plt.show()
百度找到了解决方法:设置x,y 坐标范围,
import matplotlib.pyplot as plt # 下面两行代码专门用来解决中文显示问题 from pylab import * mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei'] days = [1,2,3,4,5] sleeping = [7,8,6,11,7] eating = [2,3,4,3,2] working = [7,8,7,2,2] playing = [8,5,7,8,13] # 绘制标签图例 plt.plot([],[],color='m', label='Sleeping-睡觉', linewidth=5) plt.plot([],[],color='c', label='Eating-吃饭', linewidth=5) plt.plot([],[],color='r', label='Working', linewidth=5) plt.plot([],[],color='k', label='Playing', linewidth=5) plt.stackplot(days, sleeping,eating,working,playing, colors=['m','c','r','k']) # 设置x,y轴的取值范围为: plt.ylim(0, 24) plt.xlim(1, 5) plt.xlabel('x-date') plt.ylabel('y-item') plt.title('Interesting Graph\nCheck it out') # 绘制标签图例 plt.legend() plt.show()
完美解决!