繁体   English   中英

Colors 显示不正确 matplotlib 条形图

[英]Colors not displaying properly matplotlib bar chart

我正在尝试创建一个条形图,每个条形图使用一种颜色。 数据集: 数据集链接

当我在 matplotlib 条形图中使用颜色参数时,颜色不会分配给每个条形。 它们随机分布在所有条形中,没有明确的模式。

这是代码:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

#Read file
df = pd.read_excel('CAR DETAILS FROM CAR DEKHO.xlsx')

#Change price column
df["price_sterling"] = df["selling_price"].apply(lambda x: x*0.011)

#PLOT BAR
plt.bar(df.owner,df.price_sterling,color=['red', 'yellow', 'black', 'blue', 'orange'])
plt.xticks(rotation="vertical")
plt.show()

条形图 output

我不知道我做错了什么。 有任何想法吗?

我在访问过的许多教程和 SO 页面中都没有看到这个问题......

因为它会随机地用颜色描绘你的 df.price 和 df.owner 的价值。 我不知道你在密谋代表什么,但如果你需要为每个条分配一种颜色怎么办。 只需为每个条使用.set_color如下例

 graph = plt.bar([1,2,3,4], [10,11,12,13])
 graph[0].set_color('red')
 graph[1].set_color('green')
 graph[2].set_color('orange')
 graph[3].set_color('blue')
 plt.show()

或另一种方式

a = [1, 2, 3, 4]
b = [10, 11, 12, 13]
figure, axes = plt.subplots()
axes.bar(a, b, color=['red', 'green', 'orange', 'blue'])

我认为您是在尝试计算“所有者”的总“售价”? 如果是这样,那么您可以添加以下内容

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

#Read file
df = pd.read_excel('CAR DETAILS FROM CAR DEKHO.xlsx')

#Change price column
df["price_sterling"] = df["selling_price"].apply(lambda x: x*0.011)
new_df = df.groupby(['owner']).sum()

#PLOT BAR
plt.bar(new_df.index,new_df.price_sterling,color=['red', 'yellow', 'black', 'blue', 'orange'])
plt.xticks(rotation="vertical")
plt.show()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM