为了描述我的问题,我提供一个小数据集作为例子:想象一下以下数据集:
我正在使用以下代码创建简单的直方图:
但是这给我展示的图表如下:
虽然我有3个唯一的名称,但我只看到'a'标签,而我使用了这行代码:plt.legend(list(df['name'].unique()))
另一个问题是所有的条形图都是相同的颜色,是否有一种方法可以获得不同颜色的唯一标签,而不需要事先手动定义颜色?
期望的输出是:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame({'name':['a', 'b', 'c', 'a', 'b', 'c'], 'val':[1,5,3,4,5,3]} )
我正在使用以下代码创建简单的直方图:
def plot_bar_x():
index = np.arange(len(df['name']))
plt.bar(index, df['val'])
plt.legend(list(df['name'].unique()))
plt.xticks(index, df['name'], fontsize=10, rotation=30)
plt.show()
plot_bar_x()
但是这给我展示的图表如下:
![输入图像描述](https://istack.dev59.com/ldtqy.webp)
期望的输出是:
![输入图像描述](https://istack.dev59.com/Yv5EL.webp)