如何在Matplotlib中使用分类变量?
很多时候想创建一个在Matplotlib中使用分类变量的图。 Matplotlib允许将分类变量直接传递给许多绘图函数,如下示例 –
#! /usr/bin/env python #coding=utf-8 import matplotlib import matplotlib.pyplot as plt import numpy as np np.random.seed(19680801) plt.rcParams['font.sans-serif'] = ['SimHei'] # plt.rcParams['axes.unicode_minus'] = False # 原文出自【易百教程】,商业转载请联系作者获得授权,非商业请保留原文链接。 data = {'苹果': 10, '橘子': 15, '柠檬': 5, '青柠': 20} names = list(data.keys()) values = list(data.values()) fig, axs = plt.subplots(1, 3, figsize=(9, 3), sharey=True) axs[0].bar(names, values) axs[1].scatter(names, values) axs[2].plot(names, values) fig.suptitle('分类绘图') plt.show()
它也适用于两个轴:
#! /usr/bin/env python #coding=utf-8 import matplotlib import matplotlib.pyplot as plt import numpy as np np.random.seed(19680801) plt.rcParams['font.sans-serif'] = ['SimHei'] # plt.rcParams['axes.unicode_minus'] = False # 原文出自【易百教程】,商业转载请联系作者获得授权,非商业请保留原文链接。 cat = ["bored", "happy", "bored", "bored", "happy", "bored"] dog = ["happy", "happy", "happy", "happy", "bored", "bored"] activity = ["combing", "drinking", "feeding", "napping", "playing", "washing"] fig, ax = plt.subplots() ax.plot(activity, dog, label="狗狗") ax.plot(activity, cat, label="猫喵") ax.legend() plt.show()
哥,这回真没有了