【问题标题】:"#using-proxy-artist".format(orig_handle) with Pie Chart(data from CSV) Matplotlib“#using-proxy-artist”.format(orig_handle) 与饼图(来自 CSV 的数据) Matplotlib
【发布时间】:2017-05-16 07:04:17
【问题描述】:

在饼图中添加图例后,我收到了 UserWarning:

UserWarning: Legend does not support '47036560' instances.
A proxy artist may be used instead.

我想添加图例以显示已使用的内存状态并从我的 csv 文件中释放内存。

csv 文件:

USED;FREE

26932440;47036560

我的代码:

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['text.color'] = 'k'

data = np.loadtxt('show-flash.csv' ,dtype=bytes, delimiter=';', usecols=(0, 1)).astype(str)
slice = data[1]
labels = data[0]
colors = ['lightskyblue', 'lightcoral']
explode = [0.05, 0]
plt.pie(slice, labels=labels, colors=colors, explode=explode, startangle=90, shadow=True, autopct='%1.1f%%')

plt.title('Show Flash\n(Bytes)')
plt.legend(slice,labels)
plt.show()

我需要这样的输出:

【问题讨论】:

    标签: python csv matplotlib


    【解决方案1】:

    你得到的是一个警告,说你不能使用字符串作为图例句柄。提供给plt.legend(handles, labels)handles 必须是matplotlib 艺术家。获得这些艺术家的最简单方法是致电plt.pie()

    pie = plt.pie(...)
    plt.legend(pie[0], labels)
    

    完整示例:

    import io
    import matplotlib.pyplot as plt
    import numpy as np
    
    d = u"""USED;FREE
    
    26932440;47036560"""
    
    s = io.StringIO(d)
    
    data = np.loadtxt(s ,dtype=bytes, delimiter=';', usecols=(0, 1)).astype(str)
    
    slices = data[1]
    labels = data[0]
    colors = ['lightskyblue', 'lightcoral']
    explode = [0.05, 0]
    pie = plt.pie(slices, labels=labels, colors=colors, explode=explode, startangle=90, 
                  shadow=True, autopct='%1.1f%%')
    
    plt.title('Show Flash\n(Bytes)')
    plt.legend(pie[0],[" ".join(a) for a in zip(labels, slices)])
    plt.show()
    

    生产

    【讨论】:

    • 我们可以在图例中添加一个新变量吗?在您的代码上有 2 个变量(饼图和标签),我可以添加一个新变量,所以在传说中有 3 个变量要显示吗?我确实需要像我的示例一样具有颜色、标签和切片的输出图例
    • 它就像我想要的那样工作,感谢您的回答:)
    猜你喜欢
    • 1970-01-01
    • 2018-06-12
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    相关资源
    最近更新 更多