【问题标题】:How to create custom legend in matplotlib based on the value of the barplot?如何根据 barplot 的值在 matplotlib 中创建自定义图例?
【发布时间】:2013-09-29 06:35:41
【问题描述】:

据推测,我的条形图如下:

例如第 4 周是指星期三,是否可以创建自定义图例来指示 4 - 星期三?

另外,如果我有星期几,例如 3 和 4。3 代表星期二。如果条形图中仅显示第 3 周的某一天,如何在自定义图例(3 - 星期二)中添加另一个图例?

谢谢!

【问题讨论】:

    标签: python matplotlib pandas dataframe bar-chart


    【解决方案1】:

    我并不完全清楚你想要完成什么,但这里可能是你想做的一种方式:

    import matplotlib.pyplot as plt
    daysofweek = {1:('Sunday','r'), 
                  2:('Monday','g'), 
                  3:('Tuesday','b'), 
                  4:('Wednesday','yellow'), 
                  5:('Thursday','k'), 
                  6:('Friday', 'magenta'), 
                  7:('Saturday', 'orange')}
    ax1 = plt.subplot(111)
    
    xval = [2., 4., 7.]
    yval = [2.5, 3.6, 2.7]
    
    for j in range(len(xval)):
        ax1.bar(xval[j], yval[j], width=0.8, bottom=0.0, align='center', color=daysofweek[xval[j]][1], alpha=0.6, label=daysofweek[xval[j]][0])
    ax1.set_xticks(xval)
    ax1.set_xticklabels([daysofweek[i][0] for i in xval])
    ax1.legend()
    plt.show()
    

    结果是:

    【讨论】:

      【解决方案2】:

      请添加一个工作示例,以便我们知道您到底想要什么。这些数字是否来自某个地方?总之,这个程序产生了附图。也许对你有帮助。

      #Barplot
      
      import matplotlib.pyplot as plt
      import numpy as np
      
      Day_names=["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
      N=7
      index = np.arange(N)
      bar_width = 0.95
      bar_height = [1,1.5,1.2,2,0.5,0.75,1]
      bar_color = ['b','r','g','yellow','k', 'magenta', 'orange']
      bars = plt.bar(index, bar_height, bar_width,alpha=0.5,color=bar_color)
      
      plt.xlabel('Day')
      plt.ylabel('Some Value')
      plt.title('Bars')
      plt.xticks(index + bar_width/2., Day_names)    
      
      plt.show()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-14
        • 2021-02-28
        • 2022-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-07
        相关资源
        最近更新 更多