Я сделал график с нарушением для разных значений «эта», а именно 0, 0,1127, 0,25, 0,5, 0,75, 0,8873 и 1,0.Когда я сейчас строю свои данные, все семь распределений находятся на одинаковом расстоянии друг от друга.Я хотел бы изменить это так, чтобы местоположения вспомогательных участков соответствовали числу, обозначенному на оси x.
Мой код выглядит следующим образом: все значения y являются одномерным массивом, заполненным группой чисел.
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pyplot import figure
data0 = np.genfromtxt('Plots/Violin/lambda0.0.dat', skip_header=0)
y0 = data0[:,3]
x0 = np.full(len(y0),0)
data01 = np.genfromtxt('Plots/Violin/lambda0.1.dat', skip_header=0)
y01 = data01[:,3]
x01 = np.full(len(y01),0.1127)
data02 = np.genfromtxt('Plots/Violin/lambda0.25.dat', skip_header=0)
y02 = data02[:,3]
x02 = np.full(len(y02),0.25)
data03 = np.genfromtxt('Plots/Violin/lambda0.5.dat', skip_header=0)
y03 = data03[:,3]
x03 = np.full(len(y03),0.5)
data04 = np.genfromtxt('Plots/Violin/lambda0.75.dat', skip_header=0)
y04 = data04[:,3]
x04 = np.full(len(y04),0.75)
data05 = np.genfromtxt('Plots/Violin/lambda0.9.dat', skip_header=0)
y05 = data05[:,3]
x05 = np.full(len(y05),0.8873)
data06 = np.genfromtxt('Plots/Violin/lambda1.0.dat', skip_header=0)
y06 = data06[:,3]
x06 = np.full(len(y06),1.0)
y = np.concatenate((y0,y01,y02,y03,y04,y05,y06),axis=0)
x = np.concatenate((x0,x01,x02,x03,x04,x05,x06),axis=0)
figure(figsize=[20,10])
sns.set(style="whitegrid")
plt.ylim(top=20,bottom=10)
ax = sns.violinplot(x=x,y=y)
Видимо, у меня недостаточно репутации, чтобы опубликовать изображение (это мой первый пост).Но вот ссылка на текущий сюжет для наглядности: https://imgur.com/hdHrWJ6