【发布时间】:2022-01-06 16:27:57
【问题描述】:
我正在尝试使用 Matplotlib 在 Python 中创建一个多直方图,每个类 ( bar ) 具有唯一的颜色。
我能够实现图表,但无法让条形图的颜色正常工作。这是我的代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
def draw_histograms(df, variables, n_rows, n_cols):
fig=plt.figure() # facecolor='g' changes the background color
for i, var_name in enumerate(variables):
ax=fig.add_subplot(n_rows,n_cols,i+1)
df[var_name].hist(ax=ax)
fig.tight_layout()
fig.set_size_inches(20.5, 10.5)
plt.show()
draw_histograms(df_final, df_final.columns, 2, 3)
在 plt.figure() 中添加“facecolor”,改变背景颜色。
我的数据框:
我想要实现的目标:对于 DF 中的每一列,我显示一个图表(共 6 个)。每个直方图中的 3 个条形图描绘了情绪 - 正面、负面和中性。我希望在所有 6 个图表中描绘不同情绪的条形图有 3 种独特的颜色。
【问题讨论】:
-
您是否尝试过
df[var_name].hist(ax=ax, color=colors)并在您的函数之前定义颜色,例如here? -
是的,尝试过类似的方法。我收到了
ValueError: color kwarg must have one color per data set. 1 data sets and 3 colors were provided
标签: python matplotlib data-visualization