[英]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()
我不知道我做错了什么。 有任何想法吗?
我在访问过的许多教程和 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.