Gnuplot สีที่ต่างกันภายใน newhistogram

ฉันกำลังพล็อตฮิสโตแกรมแถวเรียงกันคล้ายกับกราฟนี้มาก (อันสุดท้ายใน หน้านี้ ) :

ป้อนคำอธิบายรูปภาพที่นี่

สิ่งที่ผมอยากทำคือมีถังแต่ละปีมีสีต่างกัน สีนี้จะทำซ้ำจากฮิสโตแกรมใหม่ไปยังอีกฮิสโตแกรมใหม่ ฉันยังไม่พบวิธีการทำเช่นนี้

ตัวอย่างข้อมูลของฉันเกี่ยวกับสิ่งที่ฉันพยายามทำให้สำเร็จคือ

ที่นี่

ขอขอบคุณสำหรับความช่วยเหลือของคุณ.


person Andrei Tudor    schedule 03.03.2015    source แหล่งที่มา
comment
แทนที่จะเป็น 8 สีคุณต้องการ 8*8 สีเหรอ? นั่นดูเหมือนจะไม่ใช่การออกแบบกราฟิกที่ดี จะเพิ่มมูลค่าอะไรให้กับกราฟด้านบนนี้อีก (ขออภัยที่พูดเชิงปรัชญากับคุณ) แค่ MHO คุณสามารถเพิกเฉยได้ ;-) ) หรือคุณต้องสร้างถังขยะ 1 ถังด้วยโทนสีของคุณเพื่อให้เราเข้าใจเป้าหมายของคุณด้วยสายตา ขอให้โชคดี!   -  person shellter    schedule 03.03.2015
comment
@shellter ในชุดข้อมูลของฉัน ฉันไม่มีสีมากเท่าที่นี่ ฉันมีเพียง 2 แท่งต่อฮิสโตแกรมใหม่ และ 2 สีต่อแท่ง นี่จะได้สีที่ต่างกัน 4 สี ฉันจะโพสต์ภาพที่มีเนื้อเรื่องที่แน่นอนของฉัน   -  person Andrei Tudor    schedule 03.03.2015
comment
@shellter ฉันได้เพิ่มรูปภาพพร้อมผลลัพธ์ที่ฉันพยายามทำให้สำเร็จ   -  person Andrei Tudor    schedule 03.03.2015


คำตอบ (1)


แล้วปัญหาที่แท้จริงของคุณเกี่ยวกับเรื่องนี้คืออะไร? การใช้การลงจุด histograms ควรทำงานได้ดี พิจารณาไฟล์ข้อมูลต่อไปนี้

A -1 1 -0.5 0.5
B -2 2 -1   1
C -3 3 -1.5 1.5
D -4 4 -2   2
E -5 5 -2.5 2.5
F -4 4 -2   2
G -3 3 -1.5 1.5

ซึ่งคุณสามารถพล็อตได้

set key tmargin horizontal
set style fill solid noborder
set style data histograms
set style histogram gap 1
plot 'data.dat' using 2:xtic(1) title "First",\
     '' using 4 title "Second",\
     newhistogram at 0,\
     '' using 3 title "Third",\
     '' using 5 title "Fourth"

ผลลัพธ์ก็คือ

ป้อนคำอธิบายรูปภาพที่นี่

ในที่นี้ ฉันสันนิษฐานไว้อย่างชัดเจนว่าในคอลัมน์เดียว คุณมีเพียงค่าลบหรือค่าบวกเท่านั้น แต่นั่นไม่จำเป็นโดยทั่วไป การปรับแต่งเพิ่มเติมทั้งหมดขึ้นอยู่กับรูปแบบไฟล์ข้อมูลจริงของคุณ และเงื่อนไขอื่นๆ ที่ไม่ทราบ

person Christoph    schedule 03.03.2015
comment
ขอบคุณสำหรับคำตอบ มันช่วยฉันแก้ปัญหาของฉัน ปัญหาที่ฉันมีคือการใช้พล็อต newhistogram 'data.dat' โดยใช้ 2: [...] เนื่องจากการใช้ newhistogram แรกนั้น ทุกอย่างเริ่มแปลกประหลาด - person Andrei Tudor; 04.03.2015
comment
ฉันได้ลองใช้สิ่งนี้กับข้อมูลเชิงบวกทั้งหมดแล้ว แต่ข้อมูลเหล่านั้นไม่ได้ซ้อนกัน พวกเขาถูกวางแผนมากกว่า เป็นไปได้ไหมที่จะใช้ค่าบวกทั้งหมดแล้วใส่สีม่วงและสีเขียวไว้ใต้สีน้ำเงินและสีส้ม - person Andrei Tudor; 04.03.2015
comment
คำตอบของฉันเจาะจงมากกับภาพตัวอย่างที่คุณให้ไว้ หากไม่มีข้อมูลกรณีการใช้งานเฉพาะของคุณ ฉันจะรู้ได้อย่างไรว่าคุณมีอะไรบ้างและต้องการอะไร! - person Christoph; 04.03.2015
comment
ปัญหาหลักที่นี่คือ คุณไม่สามารถผสมสไตล์ฮิสโตแกรม rowstacked (เนื่องจากจำเป็นต้องซ้อนค่า) และสไตล์ clustered (เพื่อให้มีคอลัมน์ระหว่างกัน) ในวิธีแก้ปัญหาเฉพาะนี้ ฉันแก้ไขได้โดยพล็อตฮิสโตแกรมหนึ่งสำหรับค่าลบ และฮิสโตแกรมใหม่สำหรับค่าบวก ผลข้างเคียงก็คือ กล่องนั้นจะไม่ซ้อนกันหากทั้งสองค่าเป็นค่าบวก ในการสร้างโครงเรื่องดังกล่าว คุณอาจจำเป็นต้องใช้รูปแบบ boxxyerrorbars ในทางที่ผิด - person Christoph; 05.03.2015