Изменить цвет графика 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]
Добрый день! Мне нужно сгладить линию графика. Подскажите где почитать и если возможно покажите.
![]()
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 — использовать аргумент 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()

Пример 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()

Пример 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:
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()