Перейти к содержимому

Как поменять цвет графика в matplotlib

  • автор:

Изменить цвет графика Matplotlib

Привет, строю график с помощью Matplotlib, он самый на картинке. Изменить цвет сетки получилось, а как поменять собственно цвет заливки графика?

1 2 3 4 5 6 7 8 9
tmat, xmat = np.meshgrid ( t, x ) fig = plt.figure ( ) ax = Axes3D ( fig ) surf = ax.plot_surface ( xmat, tmat, hmat, edgecolors='r' ) plt.xlabel ( 'DATA ' ) plt.ylabel ( 'DATA ' ) plt.title ( 'DATA H(X,T)' ) plt.savefig ( 'plot_heatequation.png' ) plt.show ( )

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Изменить цвет рамки диаграммы [matplotlib]
Добрый день! Подскажите как изменить цвет рамки? Пробовал менять параметр rc — не получилось.

Ускорение обновления графика matplotlib в kivy с использованием matplotlib.animation
Всем добрый день. Я пытаюсь оптимизировать вывод графиков matplotlib в режиме реального времени.

Построение графика с matplotlib
Не могу разобраться как построить график. График должен выглядеть как на фотографии. Пытался.

Обновления графика в matplotlib
Добрый день! Реализовываю график в реальном времени через matplotlib, нашел пример: .

Сгладить линию графика [matplotlib]
Добрый день! Мне нужно сгладить линию графика. Подскажите где почитать и если возможно покажите.

Эксперт Python

5415 / 3839 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1

color — задает цвет графика
cmap — задает градиент цветов, чтобы цвет ячейки графика зависел от значения функции в этой области.
Гуглите доку.

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Построение графика в комплексной плоскости (MatPlotLib)
Здравствуйте! Такая проблема: нужно нарисовать график функции w(s) = 1/(1 + s). (Это годограф.

Как увеличить фрагмент графика matplotlib?
Всем привет! Написал программу для моделирования траектории движения спутника, на который помимо.

Как свапнуть оси графика Matplotlib
Добрый день. Я недавно начал изучать питон и возникла необходимость воспользоваться библиотекой.

Python Matplotlib. Параметрические координаты графика. Исправить ошибку
Необходимо задать график функциям перемещения тела от времени. Функции есть. Код будет примерно.

matplotlib.pyplot работает, а matplotlib нет
Не могу понять. Почему import matplotlib.pyplot as plt x = plt.plot(x) plt.show() .

MatPlotLib вывод графика
def temp(x,h,l,k,To): #Variables pg18 a11 = 7 + (4*h*(l*l))/(5*k) a12 =.

Как изменить цвет фона в Matplotlib (с примерами)

Как изменить цвет фона в Matplotlib (с примерами)

Самый простой способ изменить цвет фона графика в Matplotlib — использовать аргумент set_facecolor() .

Если вы определяете фигуру и ось в Matplotlib, используя следующий синтаксис:

fig, ax = plt.subplots() 

Затем вы можете просто использовать следующий синтаксис для определения цвета фона графика:

ax.set_facecolor('pink') 

В этом руководстве представлено несколько примеров использования этой функции на практике.

Пример 1. Установка цвета фона с использованием имени цвета

В следующем коде показано, как установить цвет фона графика Matplotlib, используя имя цвета:

import matplotlib.pyplot as plt #define plot figure and axis fig, ax = plt.subplots() #define two arrays for plotting A = [3, 5, 5, 6, 7, 8] B = [12, 14, 17, 20, 22, 27] #create scatterplot and specify background color to be pink ax.scatter (A, B) ax.set_facecolor('pink') #display scatterplot plt.show() 

Цвет фона в Matplotlib

Пример 2. Установка цвета фона с помощью шестнадцатеричного кода цвета

В следующем коде показано, как установить цвет фона графика Matplotlib с помощью шестнадцатеричного кода цвета:

import matplotlib.pyplot as plt #define plot figure and axis fig, ax = plt.subplots() #define two arrays for plotting A = [3, 5, 5, 6, 7, 8] B = [12, 14, 17, 20, 22, 27] #create scatterplot and specify background color to be pink ax.scatter (A, B) ax.set_facecolor('#33FFA2') #display scatterplot plt.show() 

Цвет фона Matlplotlib с использованием шестнадцатеричного кода цвета

Пример 3: установка цвета фона для определенного подграфика

Иногда у вас будет более одного графика Matplotlib. В этом случае вы можете использовать следующий код, чтобы указать цвет фона для одного графика:

import matplotlib.pyplot as plt #define subplots fig, ax = plt.subplots(2, 2) fig. tight_layout () #define background color to use for each subplot ax[0,0].set_facecolor('blue') ax[0,1].set_facecolor('pink') ax[1,0].set_facecolor('green') ax[1,1].set_facecolor('red') #display subplots plt.show() 

Как изменить цвет гистограммы Matplotlib (с примерами)

Как изменить цвет гистограммы Matplotlib (с примерами)

Вы можете использовать следующий базовый синтаксис для изменения цвета гистограммы в Matplotlib:

plt.hist (data, color = " lightblue", ec=" red ") 
  • data : имя данных, которые будут использоваться для гистограммы.
  • color : цвет заливки столбцов гистограммы.
  • ec : цвет края столбцов гистограммы.

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: изменение цвета гистограммы Matplotlib

Предположим, у нас есть следующий список значений:

#define list of data data = [2, 4, 4, 5, 6, 6, 7, 8, 9, 9, 9, 10, 12, 12, 14] 

Мы можем использовать следующий базовый синтаксис для создания гистограммы Matplotlib для визуализации значений в этом наборе данных:

import matplotlib.pyplot as plt #create histogram plt.hist (data) 

По умолчанию Matplotlib создает гистограмму с темно-синим цветом заливки и без цвета края.

Однако мы можем использовать следующий синтаксис, чтобы изменить цвет заливки на голубой, а цвет края на красный:

import matplotlib.pyplot as plt #create histogram with light blue fill color and red edge color plt.hist (data, color = " lightblue", ec=" red ") 

Новая гистограмма имеет голубой цвет заливки и красный цвет края.

Вы также можете использовать аргумент lw , чтобы изменить ширину линии для краев гистограммы:

import matplotlib.pyplot as plt #create histogram plt.hist (data, color = " lightblue", ec=" red", lw= 5 ) 

Чем больше значение, которое вы используете для lw , тем толще будут края полос.

Примечание : Вы можете найти полную документацию для функции Matplotlib hist здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в Python:

Изменение цветов на графике

График

Необходимо к нему применить такие цвета:

fig, ax = plt.subplots(figsize=(6, 1)) fig.subplots_adjust(bottom=0.5) cmap = (mpl.colors.ListedColormap(['#A52A2A', '#E50000', '#FFA500', '#FFFF00', '#00FF00'])) bounds = [0, 0.2, 0.4, 0.6, 0.8, 1] norm = mpl.colors.BoundaryNorm(bounds, cmap.N) fig.colorbar( mpl.cm.ScalarMappable(cmap=cmap, norm=norm), cax=ax, boundaries=[0] + bounds + [13], # Adding values for extensions. extend='both', ticks=bounds, spacing='proportional', orientation='horizontal', label='Discrete intervals, some other units', ) 

Кастомные цвета для графика

Подскажите, как можно это сделать? Спасибо!

Отслеживать

задан 26 фев 2022 в 8:46

73 8 8 бронзовых знаков

28 фев 2022 в 10:52

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Суть следующего решения в том, что каждый бар создаётся особо со своим цветом

import matplotlib.pyplot as plt import pandas as pd df = pd.DataFrame() colorN=['#A52A2A', '#E50000', '#FFA500', '#FFFF00', '#00FF00','#000000'] colorV = [0, 0.2, 0.4, 0.6, 0.8, 1] #must be sorted and size as colorN ax = plt.gca() ax.cla() for it in df.iterrows(): seg=it[1].values[0] val=it[1].values[1] for num,colV in enumerate(colorV,0): if colV>=val: print(num,colV) col=colorN[num] break ax.barh([seg],[val],color=col) plt.show() 

введите сюда описание изображения

Но вероятно следующий код будет более хорошим: все вычисленые значения цвета помещаются в список и затем выводятся

segs=[] vals=[] cols=[] for it in df.iterrows(): segs.append(it[1].values[0]) vals.append(it[1].values[1]) val=it[1].values[1] for num,colV in enumerate(colorV,0): if colV>=val: cols.append(colorN[num]) break ax.barh(segs,vals,color=cols) 

Но более правильный вариант,- создать столбец с цветом. То есть скопировать столбец со значениями применив к нему пользовательскую функцию

import matplotlib.pyplot as plt import pandas as pd df = pd.DataFrame() def func(a): ''' Тута любой кодб возвращающий цвет для значения ''' colorN=['#A52A2A', '#E50000', '#FFA500', '#FFFF00', '#00FF00','#000000'] colorV = [0, 0.2, 0.4, 0.6, 0.8, 1] #must be sorted and size as colorN for num,val in enumerate(colorV): if val>=a: return colorN[num]; df['colors']=df['scores'].apply(func) print(df) ''' segment scores colors 0 X 0.1 #E50000 1 Y 0.3 #FFA500 2 Z 0.7 #00FF00 3 W 0.9 #000000 ''' ax = df.plot.barh(x='segment', y='scores',color=list(df['colors'])) plt.show() 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *