在上篇 Matplotlib 数据可视化教程中,我们要引见怎样建立条形图、直方图和散点图。 本日我们给人人带来别的两种图,堆叠图和饼图。由于这两种图十分相似,所以放在一同引见。
堆叠图
堆叠图用于显现『部份对团体』随时候的关联。 堆叠图基本上类似于饼图,只是随时候而变化。
让我们斟酌一个状况,我们一天有 24 小时,我们想看看我们怎样消费时候。 我们将我们的运动分为:睡觉,用饭,工作和游玩。
我们假定我们要在 5 天的时候内跟踪它,因而我们的初始数据将以下所示:
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]
因而,我们的x轴将包含day变量,即 1, 2, 3, 4 和 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.show()
在这里,我们能够至少在色彩上看到,我们怎样消费我们的时候。 题目是,假如不回头看代码,我们不知道什么色彩是什么。 下一个题目是,关于多边形来讲,我们实际上不能为数据增加『标签』。 因而,在任何不止是线条,带有像如许的添补或堆叠图的处所,我们不能以固有体式格局标记出特定的部份。 这不应当阻挠程序员。 我们能够处置惩罚这个题目:
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()
我们在这里做的是画一些空行,赋予它们相符我们的堆叠图的雷同色彩,和准确标签。 我们还使它们线宽为 5,使线条在图例中显得较宽。 如今,我们能够很容易地看到,我们怎样消费我们的时候。
饼图
饼图很像堆叠图,只是它们位于某个时候点。 一般,饼图用于显现部份关于团体的状况,一般以%为单元。 荣幸的是,Matplotlib 会处置惩罚切片大小以及统统事变,我们只须要供应数值。
import matplotlib.pyplot as plt slices = [7,2,2,13] activities = ['sleeping','eating','working','playing'] cols = ['c','m','r','b'] plt.pie(slices, labels=activities, colors=cols, startangle=90, shadow= True, explode=(0,0.1,0,0), autopct='%1.1f%%') plt.title('Interesting Graph\nCheck it out') plt.show()
在plt.pie中,我们须要指定『切片』,这是每一个部份的相对大小。 然后,我们指定响应切片的色彩列表。 接下来,我们能够挑选指定图形的『肇端角度』。 这使你能够在任何处所最先画图。 在我们的例子中,我们为饼图挑选了 90 度角,这意味着第一个部份是一个竖直线条。 接下来,我们能够挑选给画图增加一个字符大小的暗影,然后我们以至能够运用explode拉出一个切片。
我们总共有四个切片,所以关于explode,假如我们不想拉出任何切片,我们传入0,0,0,0。 假如我们想要拉出第一个切片,我们传入0.1,0,0,0。
末了,我们运用autopct,挑选将百分比安排到图表上面。
以上就是用Matplotlib怎样绘制堆叠图和饼图的细致内容,更多请关注ki4网别的相干文章!