2

Смотрите обновленный вопрос ниже !:

(1 Старый материал) У меня есть следующий код:

clear
reset
unset key
# Make the x axis labels easier to read.
set xtics rotate out
# Select histogram data
set style data histogram
# Give the bars a plain fill pattern, and draw a solid line around them.
set style fill solid border

set title "Intensity of luxA signal for different substances"

set output 'luxA.png'
set terminal png transparent nocrop enhanced font times 18 size 840,640 

set ylabel "Intensität"

set style histogram

plot 'luxA.dat' using 2:xticlabels(1)

И следующие данные:

Name    Value   Color
"SN wt" 1103    blue
"SN ΔΔ" 124.3333333333  blue
"SN -A" 367.3333333333  blue
"SN -B" 147.3333333333  blue
"10nM C100" 325.6666666667  red
"200nM C100"    207.3333333333  red
"300nM C100"    236.6666666667  red
"LB"    180.6666666667  green
"LuxX"  168 green
"only LB"   62  green
"only MQ"   64.6666666667   green
"LB&wt" 65.3333333333   green
"SN LuxX&wt"    73  green

Я хочу раскрасить каждый бар в соответствии с колонкой "Цвет".

Также было бы неплохо, если бы я мог сгруппировать разные группы немного ближе друг к другу (меньшие расстояния внутри группы и большие расстояния между группами).

(2 новых вопроса и данные)

Новые данные (четвертая строка для погрешностей (отклонение)):

Name    Value   Color   Deviation
"SN wt" 1103    #006400 61.0
"SN ΔΔ" 124.3333333333  #006400 3.21
"SN -CI"    367.3333333333  #006400 25.38
"SN -B" 147.3333333333  #006400 20.74
"10nM C8"   325.6666666667  #0000FF 20.13
"200nM C8"  207.3333333333  #0000FF 28.7
"300nM C8"  236.6666666667  #0000FF 35.91
"1uM BDSF"  596.6666666667  #0000C6 44.12
"10uM BDSF" 545.3333333333  #0000C6 102.01
"15uM BDSF" 547 #0000C6 33.60
"1uM DSF"   596.3333333333  #00008B 98.47
"10uM DSF"  532 #00008B 21
"15uM DSF"  653.6666666667  #00008B 13.65
"LB"    180.6666666667  grey    20.13
"LuxA"  168 grey    20.07
"only LB"   62  grey    9.54
"only MQ"   64.6666666667   grey    20.03   
"LB \\& wt" 65.3333333333   grey    3.79
"SN Lux \\& wt" 73  grey    14.53

-> С этим я хочу в основном добиться того, что я описал выше, но с ошибками. Предлагаемое ниже решение работает для цветов, но не для интервала на моем компьютере (Ubuntu, gnuplot 4.4 patchlevel 2). И это делается с коробками? Можно ли добавить бары ошибок в боксы. Я немного растерялся, я знаю C и Python, но этот синтаксис gnuplot меня немного пугает ... :-(

Поэтому я хотел бы иметь:- столбцы в соответствии с цветом - одни и те же группы (в соответствии с цветом) сгруппированы в пространстве (небольшой интервал в группе, большой интервал между группами) - столбцы ошибок в соответствии со столбцом 4 (мне все равно, если это сделано с коробки или с гистограммой, пока это работает:- |) - Решение от mgilson (Большое спасибо!) интервал дает мне ошибку (см. ниже). Что я делаю неправильно? Я использую это точно так, как указано ...

Кстати, какая ваша любимая книга по gnuplot?

1 ответ1

0

Это может помочь вам начать:

colors='red blue green'
set for [c in colors] style line strstrt(colors,c) lc rgb c
plot 'test.dat' u (column(0)):2:(strstrt(colors,stringcolumn(3))):xtic(1) w boxes lc variable

Обратите внимание, что я покончил со стилем гистограмм. Я люблю коробки лучше :).

Теперь для расстояния. Это займет немного хитрости с встроенной функцией:

idx=0.0
c_old=''
xidx(c)=(idx=idx+(c eq c_old?1.:1.5),cold=c,idx) #increment by 1 if same as old color, otherwise increment by 1.5
set for [c in colors] style line strstrt(colors,c) lc rgb c  #set linestyle for given color
plot 'test.dat' u (xidx(strcol(3))):2:(strstrt(colors,strcol(3))):xtic(1) w boxes lc variable

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .