How can I generate more colors on pie chart matplotlib

前端 未结 3 2107
情歌与酒
情歌与酒 2021-02-13 19:41

I am having more then 40 items to show in my chart. I have only 10 colours that repeatedly are shown on the chart. How can I generate more colors.

plt.pie(f,la         


        
相关标签:
3条回答
  • 2021-02-13 20:02

    You need colors argument, beside that you can use some color maps from cm.

    import matplotlib.pyplot as plt
    from matplotlib import cm
    import numpy as np
    a=np.random.random(40)
    cs=cm.Set1(np.arange(40)/40.)
    f=plt.figure()
    ax=f.add_subplot(111, aspect='equal')
    p=plt.pie(a, colors=cs)
    plt.show()
    

    enter image description here

    Beside using colormaps, also consider using .set_color_cycle() method. See this post: plotting different colors in matplotlib

    0 讨论(0)
  • 2021-02-13 20:20

    I hope this answer would be useful. Check this link , Matplotlib supported colors. You can randomly pick 40 colors from it and use in your pie chart.

    mcolors.TABLEAU_COLORS
    mcolors.BASE_COLORS
    mcolors.CSS4_COLORS
    

    Sample

    import random
    import matplotlib.colors as mcolors
    colors = random.choices(list(mcolors.CSS4_COLORS.values()),k = number_of_colors)
    
    0 讨论(0)
  • 2021-02-13 20:21

    If your pie chart is coming out with grouped chunks of the same colour when utilising the solution above, try changing the colour map from 'Set1' to any map you like from the following link: https://matplotlib.org/examples/color/colormaps_reference.html

    As for randomising the colours, I suggest that you randomise the cs array in the solution above. But that doesn't really give a nice spectrum of colours.

    0 讨论(0)
提交回复
热议问题