Як правильно згладити криву?
Тому ми маємо варіацію 20% набору даних. Моя перша ідея полягала в тому, щоб використовувати функцію Scivy UnivariateSpline, але проблема в тому, що це не враховує невеликий шум у хорошому розумінні. Якщо ви розглядаєте частоти, фон набагато менше сигналу, тому сплайном тільки зрізу може бути ідея, але це може включати перетворення Фур'є назад і вперед, що може призвести до поганої поведінки. Іншим способом буде ковзне середнє, але для цього також знадобиться правильний вибір затримки.
Будь-які поради/книги чи посилання, як вирішити цю проблему?
Ваш сигнал завжди буде синусоїдальним, чи ви використовували його тільки як приклад?ні, маю різні сигнали, навіть у цьому простому прикладі очевидно, що моїх методів недостатньо
Фільтрація Калмана є оптимальною для цього випадку. І пакет pykalman python гарної якості.Можливо, я розширю його до повної відповіді, коли я матиму трохи більше часу, але один потужний метод регресії, який ще не був згаданий, - це регресія GP (Gaussian Process).
Відповіді:
Я віддаю перевагу фільтру Савицького-Голея. Він використовує метод найменших квадратів для регресії невеликого вікна ваших даних у поліном, а потім використовує поліном для оцінки точки в центрі вікна. Нарешті, вікно зсувається вперед однією точку даних, і процес повторюється. Це триває доти, доки кожна точка не буде оптимально відрегульована щодо її сусідів. Він чудово працює навіть із гучними вибірками з неперіодичних та нелінійних джерел.
Ось докладний приклад кухонної книги. Перегляньте мій код нижче, щоб зрозуміти, як легко ним користуватися.Примітка: я пропустив код визначення savitzky_golay() функції, тому що ви можете буквально скопіювати / вставити її з прикладу кухонної книги, який я привів вище.
import
numpy
as
np
import
matplotlib.pyplot
as
plt x
=
np.linspace(0,2*np.pi,100)
y
=
np.sin(x)
+
np.random.random(100)
*
0.2
yhat
=
savitzky_golay(y,
51,
3)
# window size 51, polynomial order 3
plt.plot(x,y)
plt.plot(x,yhat,
color='red')
plt.show()
ОБНОВЛЕННЯ: До мене дійшло, що приклад кухонної книги, на який я посилався, був вилучений. На щастя, фільтр Савицького-Голея був включений до бібліотеки SciPy, на що вказує @dodohjk. Щоб адаптувати наведений вище код, використовуючи вихідний код SciPy, введіть:
from
scipy.signal
import
savgol_filter yhat
=
savgol_filter(y,
51,
3)
# window size 51, polynomial order 3
Я отримав помилку Traceback (останній виклик був останнім): файл "hp.py", рядок 79,
Дякуємо за введення фільтра Савицького-Голея! Таким чином, в основному це схоже на звичайний фільтр «Ковзне середнє», але замість простого обчислення середнього, для кожної точки виконується поліноміальний (зазвичай 2-й або 4-й порядок) підбір, і вибирається тільки «середня» точка. Оскільки інформація 2-го (або 4-го) порядку стосується кожної точки, зсув, введений у підході «ковзне середнє» в локальних максимумах або мінімумах, обходиться. Дійсно елегантний
Просто хочу сказати спасибі за це, я божеволію, намагаючись з'ясувати вейвлет-розкладання, щоб отримати згладжені дані, і це набагато приємніше.
Якщо їх дані регулярно не рознесені, ви можете застосувати фільтр до ікси , а також: savgol_filter((x, y), . ) .
Швидкий і брудний спосіб згладжування даних, які я використовую, на основі блоку ковзного середнього (шляхом згортки):
x
=
np.linspace(0,2*np.pi,100)
y
=
np.sin(x)
+
np.random.random(100)
*
0.8
def
smooth(y,
box_pts):
box
=
np.ones(box_pts)/box_pts y_smooth
=
np.convolve(y,
box,
mode='same')
return
y_smooth plot(x,
y,'o')
plot(x,
smooth(y,3),
'r-',
lw=2)
plot(x,
smooth(y,19),
'g-',
lw=2)
Це має кілька приємних переваг: (1) працює для будь-якої функції, а не тільки для періодичної, і (2) немає залежностей або великих функцій для копіювання-вставки. Ви можете зробити це прямо зараз з чистим Numpy. Крім того, він не занадто брудний - це найпростіший випадок деяких з інших методів, описаних вище (наприклад, LOWESS, але ядро має різкий інтервал і, як Савицький-Голей, але ступінь полінома дорівнює нулю).
єдина проблема зі ковзною середньою полягає в тому, що вона відстає від даних. Ви можете побачити це найбільш очевидно в кінці, де більше точок зверху і менше знизу, але зелена крива в даний час нижча за середню, тому що віконна функція повинна рухатися вперед, щоб врахувати це.
І це не працює на масиві nd, тільки 1d. scipy.ndimage.filters.convolve1d() дозволяє вказати вісь nd-масиву для фільтрації. Але я думаю, що обидва страждають від деяких проблем у замаскованих цінностях.
@nurettin Я думаю, що ви описуєте крайові ефекти. Загалом, доки ядро згортки здатне покрити свою протяжність у сигналі, воно, як ви кажете, не «відстає». В кінці, однак, немає значень, що перевищують 6, для включення в середнє значення, тому використовується лише ліва частина ядра.Крайові ефекти є в кожному ядрі згладжування і повинні оброблятися окремо.
@nurettin Ні, я намагався роз'яснити іншим читачам, що ваш коментар "єдина проблема з ковзною середньою - це те, що вона відстає від даних", вводить в оману Будь-який метод віконного фільтра страждає на цю проблему, а не тільки ковзний середній. Голай теж страждає на цю проблему. Таким чином, ваше твердження «Те, що я описую, це те, що savitzky_golay вирішує за допомогою оцінки», просто неправильно.
Якщо ви зацікавлені в «гладкій» версії сигналу, яка є періодичною (як ваш приклад), тоді БПФ - правильний шлях.
import
numpy
as
np
import
scipy.fftpack N
=
100
x
=
np.linspace(0,2*np.pi,N)
y
=
np.sin(x)
+
np.random.random(N)
*
0.2
w
=
scipy.fftpack.rfft(y)
f
=
scipy.fftpack.rfftfreq(N,
x[1]-x[0])
spectrum
=
w**2
cutoff_idx
=
spectrum
(spectrum.max()/5)
w2
=
w.copy()
w2[cutoff_idx]
=
0
y2
=
scipy.fftpack.irfft(w2)
Навіть якщо ваш сигнал не є повністю періодичним, це дозволить відмінно відняти білий шум.
Яка ділянка для якоїсь змінної? Я намагаюся згладити координати для тенісного м'яча в ралі, тобто.Підганяння ковзного середнього до ваших даних згладить шум, перегляньте цю відповідь, щоб дізнатися, як це зробити.
Якщо ви хочете використовувати LOWESS, щоб відповідати вашим даним (це схоже на ковзну середню, але більш витончено), ви можете зробити це за допомогою бібліотеки statsmodels :
import
numpy
as
np
import
pylab
as
plt
import
statsmodels.api
as
sm x
=
np.linspace(0,2*np.pi,100)
y
=
np.sin(x)
+
np.random.random(100)
*
0.2
lowess
=
sm.nonparametric.lowess(y,
x,
frac=0.1)
plt.plot(x,
y,
'+')
plt.plot(lowess[:,
0],
lowess[:,
1])
plt.show()
Зрештою, якщо ви знаєте функціональну форму вашого сигналу, ви можете підігнати криву до ваших даних, що, ймовірно, буде найкращим рішенням.
Інший варіант - використовувати KernelReg в statsmodels:
from
statsmodels.nonparametric.kernel_regression
import
KernelReg
import
numpy
as
np
import
matplotlib.pyplot
as
plt x
=
np.linspace(0,2*np.pi,100)
y
=
np.sin(x)
+
np.random.random(100)
*
0.2
# The third parameter specifies the type of the variable x;
# 'c' stands for continuous
kr
=
KernelReg(y,x,'c')
plt.plot(x,
y,
'+')
y_pred,
y_std
=
kr.fit(x)
plt.plot(x,
y_pred)
plt.show()
Перевір це! Існує чітке визначення згладжування сигналу 1D.
Клавіші швидкого доступу:
import
numpy
def
smooth(x,window_len=11,window='hanning'):
"""Smooth the data using a window with requested size. transient parts є minimized in the begining and end part of the output signal. window will produce a moving average smoothing.output: smoothed signal example: t=linspace(-2,2,0.1) x=sin(t)+randn(len(t))*0.1 y=smooth(x) see also: numpy.hanning, numpy.hamming , numpy.bartlett, numpy.blackman, numpy.convolve scipy.signal.lfilter TODO: window parameter може бути window itself if an array instead of a string NOTE: length(output) != length(input), to correct this: return y[(window_len/2-1):-(window_len/2 )] instead of just y. """
if
x.ndim
!=
1:
raise
ValueError,
"smooth only accepts 1 dimension arrays."
if
x.size
window_len:
raise
ValueError,
"Input vector потребує великого віку, ніж window size."
if
window_len3:
return
x
if
not
window
in
['flat',
'hanning',
'hamming',
'bartlett',
'blackman']:
raise
ValueError,
"Window is on of 'flat', 'hanning', 'hamming', 'bartlett', 'blackman'"
s=numpy.r_[x[window_len-1:0:-1],x,x[-2:-window_len-1:-1]]
#print(len(s))
if
window
==
'flat':
#moving average
w=numpy.ones(window_len,'d')
else:
w=eval('numpy.'+window+'(window_len)')
y=numpy.convolve(w/w.sum(),s,mode='valid')
return
y
from
numpy
import
*
from
pylab
import
*
def
smooth_demo():
t=linspace(-4,4,100)
x=sin(t)
xn=x+randn(len(t))*0.1
y=smooth(x)
ws=31
subplot(211)
plot(ones(ws))
windows=['flat',
'hanning',
'hamming',
'bartlett',
'blackman']
hold(True)
for
w
in
windows[1:]:
eval('plot('+w+'(ws) '')
axis([0,30,0,1.1])
legend(windows)
title("The smoothing windows")
subplot(212)
plot(x)
plot(xn)
for
w
in
windows:
plot(smooth(xn,10,w))
l=['original signal',
'signal with noise']
l.extend(windows)
legend(l)
title("Smoothing a noisy signal")
show()
if
__name__=='__main__':
smooth_demo()
Посилання на рішення вітається, але, будь ласка, переконайтеся, що ваша відповідь буде корисною без нього: додайте контекст навколо посилання, щоб ваші колеги-користувачі зрозуміли, що це таке і чому, а потім процитуйте найбільш релевантну частину сторінки, яку Ви повторне посилання на Випадок, якщо цільова сторінка недоступна.
Якщо ви будуєте графік часових рядів та використовуєте mtplotlib для малювання графіків, використовуйте метод медіани для згладжування графіка.
smotDeriv
=
timeseries.rolling(window=20,
min_periods=5,
center=True).median()
де timeseries вашого набору даних передається ви можете змінити windowsize для більш згладжування.
Як у екселі згладити графік.
Дані, одержувані у процесі експериментів, зазвичай, містять випадкові відхилення (похибки), тому побудовані за ними графіки є плавними лініями, вони найчастіше мають вигляд зубчастих ліній, тобто ліній, відмінних від плавних наявністю “викидів” і “ западин”. Наявність таких викидів і западин іноді утруднює як візуальне сприйняття закономірності зміни даної величини. і, відповідно, аналіз отриманих графіків, а й вибір гіпотези можливого математичного опису графіка.
Ідея, покладена в основу всіх методик математичного згладжування графіків, аналогічна ідеї вирівнювання пересіченої місцевості за допомогою бульдозера – зрізання виступів ґрунту та переміщення отриманого матеріалу у найближчі ями.
Усі методики згладжування графіків засновані на використанні непарної кількості ординат (3, 5, 7, . ) та працездатні тільки в тому випадку, коли крок точок по осі абсцис однаковий. Найпростішим методом згладжування є метод згладжування за трьома ординатами.
Згладжування за методом трьох ординат виконується в такий спосіб. Нехай в результаті експериментів отримано залежність у = f(x), дані зведені у відповідну таблицю і з них побудований графік. У таблиці вибираються перші три сусідні ординати, починаючи з крайньої лівої, і вони умовно позначаються:
Ліва в трійці, що розглядається, ординат (тобто в даному випадку найперша ордината);
Середня з виділених ординат;
Права у цій трійці ординат.
Згладжене значення крайньої лівої ординати визначається за такою формулою:
Згладжене значення другої (середньої) ординати визначається за формулою:
Далі зрушуються праворуч на одну точку і виділяють другу трійку сусідніх ординат, в якій та ордината, яка була середньою у першій трійці, стане крайньою лівою у новій трійці ординат. У цій новій трійці ординат визначають згладжене значення тільки середньої ординати за формулою (2). Потім зрушуються на один крок праворуч і отримують наступну трійку сусідніх ординат, у якій середня ордината попередньої трійки стане крайньою лівою, визначають згладжене значення середньої ординати в отриманій новій трійці ординат і так чинять доти, поки в останній трійці сусідніх ординат як третя ордината не виявиться крайня права ордината.
В останній трійці ординат визначають згладжене значення середньої ординати за формулою (2), а потім згладжене значення крайньої правої ординати за формулою:
Якщо вихідних експериментальних даних є точки з половинним кроком по осі абсцис у порівнянні з кроком інших точок, то усереднене (згладжене) значення ординати кожної такої точки визначається точно так, як і описано вище, тобто. виділяється трійка сусідніх ординат, в якій умовною середньою ординатою є ордината точки з половинним кроком по осі абсцис, а умовною лівою ординатою та умовною правою ординатами вважаються ординати, що знаходяться безпосередньо зліва та праворуч від неї.
В результаті виходить згладжена за ординатами залежність.
Якщо вихідна залежність має великий розкид точок (великі “викиди” та “впадини”), то одноразового згладжування може бути недостатньо, і буде необхідно провести ще одне або кілька повторних згладжувань. Як вихідні значення ординат при кожному повторному згладжуванні слід використовувати результати попереднього згладжування.
Методи згладжування по п'яти, семи та більшій кількості ординат дозволяють отримати згладжений графік швидше, але при цьому більш сильно спотворюють вигляд вихідного графіка. З усіх відомих методів згладжування метод згладжування за трьома ординатами є «найніжнішим» і щадним.
Слід мати на увазі, що при багаторазовому повторенні згладжування вихідного графіка за будь-якою кількістю ординат будь-який вихідний графік перетвориться в кінцевому підсумку на пряму лінію тому до багаторазового повторення згладжування слід ставитися обережно.
Якщо вихідний графік схожий на якусь пилкоподібну або шматково-лінійну фігуру, що складається з більш менш прямолінійних відрізків, то доцільно згладжувати окремо ці відрізки.При цьому крайні згладжені ординати сусідніх відрізків, як правило, не збігатимуться. За згладжене значення таких ординат слід прийняти їхнє середнє арифметичне.
У мене є деякі зазубрені контурні сюжети, які мені потрібно згладити. Мені треба згладити їх, не втрачаючи жодної лінії контуру. Я згадав ці , але вони не зовсім пропонують вирішення моєї проблеми. Без будь-якого фільтра мої сюжети виглядають так:
Ви можете бачити, що зовнішні контури дуже нерівні і тому якість презентації не є. Якщо я запустив дані через фільтр гаусівський порядку 0 і сигма 2 (тобто scipy.ndimage.gaussian_filter(z, 2)), він згладжує графіки, але я втратить внутрішні контури :
Яким є найкращий спосіб згладжування графіка без втрати внутрішніх контурів? Характер даних, з якими я працюю, полягає в тому, що він завжди має найвищі значення поблизу центру. Фільтрування розширює інформацію та усуває внутрішні контури. Це найбільш важливі контури: контури є ризиком загибелі людей, тому, як правило, чим вище значення, тим важливіше воно.
Я розглянув два методи згладжування контурних ліній.
- Отримайте кожну координату контурної лінії через contour_object.collections.get_paths().vertices та згладьте/перемалюйте кожен. Це здається можливим, але неелегантним і я не впевнений, з чого почати.
- Застосуйте фільтр гауса лише до даних, що перевищують певне значення: наприклад, 5 * 10 -6 . Це легко зробити (процитувати масив даних і взяти з вихідного набору, якщо значення більше, ніж обрізання, і відфільтрований набір, якщо це не так), але здається досить довільним і таким, що важко виправдатися.
Я хотів би зробити щось подібне до першого варіанта, але це схоже на хак.Який найкращий спосіб згладити ці контурні графіки?
Згладжування даних → Втрата даних.
Моя перша реакція: чому ви хочете відображати згладжені дані? Я рідко коли-небудь бачив презентації даних, де згладжування даних було дійсно корисно для розуміння наслідків даних. Фактично, це те, що Туфте часто критикували (це не привід, щоб уникнути цього, звичайно, але, можливо, для того, щоб попросити себе вигадати більше виправдання, ніж зазвичай).
Якщо сюжет має виглядати красиво для деяких причин, не пов'язаних з даними, це цілком нормально, але якщо ви намагаєтеся зробити його більш приємним для очей, коли завдання полягає в тому, щоб зрозуміти щось про природу контурів, вам краще просто уявити вихідні дані, як є.
Якщо у вас є різні контури, що зберігаються у вигляді окремих наборів даних (наприклад, якщо ви просто вкрали різні набори даних сюжетної лінії, які використовує контурний плотер), ви можете застосувати згладжування тільки до тих контурів, де втрата даних від згладжування та залишати менші внутрішні контури стисливими та зубчастими.
Або ви можете возитися з параметрами згладжування, щоб ваше ядро, що згладжує, було досить вузьким, щоб не повністю убити крихітні внутрішні кільця з вашого набору даних.
В принципі, немає ніякого способу "згладити" дані без "втрати" даних у певному сенсі, і будь-який спосіб зробити це, який не застосовується рівномірно до всього набору даних, буде підозрілим.
Чому б не зробити фігуру серією із двох сюжетів? Великий згладжений сюжет, який у вас вже є (з відсутністю деяких даних через згладжений дисплей), а потім сюжет у бік, яка є лише збільшеною версією, що містить лише невеликі окреслені контури. Це (поряд з відповідними заголовками та заголовками) приверне увагу до згладжування, так що немає ніякого ризику, щоб хтось не розумів, що згладжений сюжет - це змінені дані, і дозволяє відображати більш красиві великі контури з іншою панеллю для більш потворного, контури . Він також додає приємне візуальне поєднання згладжених та необроблених даних, що часто є добрим ефектом для таких графіків.
Рисунок 20. - Щоб змінити форму конкретного маркера даних або всіх маркерів виділеного ряду, виберіть один із варіантів на вкладці Фігура.
Excel не допускає змін форми маркерів даних в об'ємних діаграмах, що містять вісь рядів.
Варіанти 2 та 3, а також 5 та 6 майже аналогічні один одному. Відмінність полягає в тому, що при виборі варіантів 3 і 6 маркери, які мають менші значення в ряді даних, відображаються у вигляді усіченої фігури. Наприклад, при виборі варіанта 3 короткі маркери ряду даних з'являться у вигляді усічених пірамід.
Згладжування ліній у графіках та точкових діаграмах
Excel може використовувати згладжування до рядів даних на графіках і точкових діаграмах. Щоб скористатися цією можливістю, перейдіть до ряду даних, які хочете згладити, і виберіть першу команду в меню Формат. Потім на вкладці Вигляд (Patterns) вікна діалогу Формат ряду даних встановіть прапорець Згладжена лінія (Smoothed Line).
Зміна ліній та маркерів у графіках, точкових та пелюсткових діаграмах
Щоб змінити тип, товщину та колір лінії на графіку, пелюстковій або точковій діаграмі, виділіть ряд даних, а потім виберіть першу команду в меню Формат. Після відкриття вікна діалогу Формат ряду даних перейдіть на вкладку Вигляд (Patterns), представлену малюнку 21. На цій вкладці можна змінити вигляд, колір і розмір маркерів або видалити їх із низки даних.
Рисунок 21. - Для форматування ліній та маркерів установіть потрібні значення параметрів на вкладці Вигляд.
Відображення у графіках коридорів коливання та смуг підвищення та зниження
Коридор коливання - це лінія, що з'єднує мінімальне і максимальне значення і показує діапазон, в межах якого змінюються значення в даній категорії. На малюнку 8 показано діаграму, що ілюструє застосування коридору коливання. Коридор коливання може бути показаний лише на плоских графіках.
Смуга підвищення та зниження – це прямокутник, намальований між точками даних першого та останнього ряду. Excel заповнює прямокутник одним кольором або візерунком, якщо перший ряд розташований вище останнього, і контрастним кольором або візерунком в іншому випадку. Смуги підвищення та зниження зазвичай використовуються у біржових діаграмах для відстеження зміни цін відкриття та закриття, але ви можете відобразити їх і на плоских графіках, що містять принаймні два ряди даних.
Щоб відобразити в діаграмі коридори коливання або смуги підвищення та зниження, виділіть будь-який ряд даних та виберіть першу команду в меню Формат. Потім на вкладці Параметри (Options) вікна діалогу Формат ряду даних (Format Data Series) встановіть прапорець Мінімум-максимум (High-Low Lines) або Відкриття-закриття (Up-Down Bars).
При використанні в діаграмі смуг підвищення та зниження Excel дозволяє змінювати ширину зазору. Цей параметр зазвичай доступний тільки для гістограм та лінійних діаграм, але Excel розглядає графік зі смугами підвищення та зниження як вид гістограми. У разі збільшення ширини зазору лінії підвищення і зниження стають вже, а при зменшенні - ширше.
Ви можете змінити зовнішній вигляд коридорів коливання або смуг підвищення та зниження. Для цього виділіть один (одну) з них і виберіть першу команду в меню Формат. Excel відкриє вікно діалогу, що дозволяє змінювати колір, товщину та тип лінії коридорів коливання або колір, візерунок та рамку смуг підвищення та зниження. Для заливання смуг підвищення та зниження можна навіть використовувати текстуру чи малюнок.
Відображення ліній проекцій у графіках та діаграмах з областями
Лінія проекції – це пряма, яка проходить від точки даних до осі категорій. Лінії проекцій особливо корисні в діаграмах з областями, що містять кілька рядів даних, але їх можна додати будь-яку діаграму з областями, плоский або об'ємний графік. Для цього перейдіть до ряду даних і виберіть першу команду в меню Формат. Потім на вкладці Параметри вікна діалогу Формат ряду даних встановіть прапорець Лінії проекції (Drop Lines).
Щоб відформатувати лінії проекції для ряду даних, виділіть одну з них, а потім виберіть першу команду в меню Формат.
Відділення секторів кола та кільця
Ваша миша може розірвати коло чи кільце на окремі сектори. Просто перетягніть будь-який сектор у напрямку від центру діаграми.(Але врахуйте, що в кільцевій діаграмі можна відокремлювати сектори лише зовнішнього кільця.) Щоб повернути колу або кільцю початковий вигляд, просто перетягніть сектор назад у центр діаграми.
Щоб відокремити лише конкретний сектор кола або кільця у плоскій чи об'ємній діаграмі, клацніть на цьому секторі двічі. Перше клацання виділить ряд даних, а другий - конкретний сектор. Після виділення сектора перетягніть його убік від центру.
Форматування вторинної кругової діаграми та вторинної гістограми
Вторинна кругова діаграма та вторинна гістограма – це кругова діаграма, в якій кілька точок даних відображаються на допоміжній круговій діаграмі або гістограмі. Допоміжна діаграма надає більш детальну інформацію про деяку частину основної діаграми. Щоб перетворити звичайну кругову діаграму на вторинну кругову діаграму або гістограму, виділіть будь-яку її частину, а потім виберіть пункт Тип діаграми в меню Діаграма. У правій частині галереї видів кругової діаграми ви знайдете вторинну кругову діаграму та вторинну гістограму.
За умовчанням при побудові допоміжної діаграми Excel використовує два останні значення ряду даних, але допустимі інші способи поділу значень між основною та допоміжною діаграмами. Для цього виділіть ряд даних у вторинній круговій діаграмі або гістограмі та виберіть першу команду в меню Формат. Після відкриття діалогового вікна Формат ряду даних перейдіть на вкладку Параметри, представлену на малюнку 22.
Ряд даних можна розділити за положенням (останні n точок даних відійдуть до допоміжної діаграми), за значенням (до допоміжної діаграми відійдуть усі точки даних, значення яких менше n), по частці (до допоміжної діаграми відійдуть усі сектори, значення яких становить менше n відсотків від загальної суми). Крім того, ви можете вибрати пункт Додатково (Custom) у списку Поділ рядів (Split Series By) і потім просто перетягнути частину секторів з основної діаграми до допоміжної.
Рисунок 22. - Зміна параметрів вторинної кругової діаграми та вторинної гістограми.
Параметри налаштування для вторинної кругової діаграми та вторинної гістограми однакові, і єдиною їх відмінністю є форма допоміжної діаграми. Після зміни параметрів поділу Excel перемалює основну діаграму і покаже на ній єдиний сектор, який представляє всі точки даних, що відображаються на допоміжній діаграмі. За промовчанням Excel малює лінії від цього загального сектора до всієї допоміжної діаграми. Ви можете видалити ці лінії, знявши прапорець З'єднати значення ряду (Series Lines).
