Как изменить цвет каждого элемента гистографа в Python? - PullRequest
0 голосов
/ 05 ноября 2019

Корейский в картинках не важен. Извините за отображение неанглийского символа

окружение: блокнот Jupyter

here is python dataFrame, which import csv file.

Для этого фрейма данных (который читает файлы CSV)Я хочу сделать гистограмму, которая имеет определенные цвета для каждого элемента.

так, я делаю некоторый код, подобный этому ...

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import font_manager, rc
font_name =font_manager.FontProperties(fname="c:/Windows/Fonts/malgun.ttf").get_name()
rc('font', family=font_name)
from matplotlib import colors as mcolors
colors=dict(mcolors.BASE_COLORS,**mcolors.CSS4_COLORS)

data = pd.read_csv('subway.csv')
subwayPassengerPerLine.plot.bar(color=['tab:blue','tab:green','tab:orange','tab:cyan','tab:purple','tab:brown','tab:green','tab:pink','tab:gold','tab:black','tab:black','tab:black','tab:black','tab:black','tab:black','tab:black','tab:black','tab:black','tab:black','tab:black','tab:black','tab:black','tab:black','tab:black','tab:black'])

Я хочу сделать так, как этот hope result

Но мой код (верхний код) не меняет цвет. my result(fail)

как изменить цвет на гистограмме, как второйобраз? спасибо

1 Ответ

1 голос
/ 05 ноября 2019

Полагаю, вам не нужно использовать табуляцию: "черный" ... и т. Д.

Просто с помощью

subwayPassengerPerLine.plot.bar(y = 'sum',color=['blue','green','orange','cyan','purple','brown','green','pink','gold','black','black','black','black','black','black','black','black','black','black','black','black','black','black','black','black'])

Это также может помочь, если вы хотите автоматизировать цвет графика.

Как выбрать новый цвет для каждогопостроенная линия на рисунке в matplotlib?

Ссылка на документ

https://python-graph-gallery.com/3-control-color-of-barplots/

Отредактировано: пропущено поле y = 'sum'. Если вы хотите удалить бесполезную легенду, добавьте эту строку тоже:

subwayPassengerPerLine.get_legend().remove()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...