[ncl-talk] Bar Chart Plotting Issues
Melissa Lazenby
M.Lazenby at sussex.ac.uk
Wed May 10 09:52:07 MDT 2023
Dear NCL Users
I am trying to plot a bar chart with year and months on the X-axis and am struggling to do so correctly.
I would also like to choose some years and months to be grey instead of black to show certainty levels. I am trying to make a similar plot to the one below:
[cid:0ba8b8f1-2012-4b28-8d87-b13e4017b864]
This is what I currently have:
[cid:292cb285-6cd1-464e-b5d0-933539d55edb]
Any help would be greatly appreciated!
Kindest Regards
Melissa
Code:
;************************************************
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
;************************************************
begin
;************************************************
; plotting
;************************************************
wks = gsn_open_wks("X11","Mpwapwa_Index")
res = True
res at gsnMaximize = True
res at tiXAxisString = "Year & Month" ; x-axis label
res at tiYAxisString = "Precipitation Index" ; y-axis label
res at gsnXYBarChart = True
res at gsnXYBarChartBarWidth = 0.1
res at gsnYRefLine = 0 ; reference line
res at tiMainString = "Mpwapwa"
res at trYMinF = -3.5 ; min level
res at trYMaxF = 3.5 ; max level
res at vpWidthF = 1.5 ; Make the plot wider than it
res at vpHeightF = 0.75 ; is high.
res at gsnDraw = False ; do not draw the plot
res at gsnFrame = False
;Years and Months
x = (/185501, 185502, 185503, 185504, 185505, 185506, 185507, 185508, 185509, 185510, 185511, 185512, 185601, 185602, 185603, 185604, 185605, 185606, 185607, 185608, 185609, 185610, 185611, 185612, 185701, 185702, 185703, 185704, 185705, 185706, 185707, 185708, 185709, 185710, 185711, 185712, 185801, 185802, 185803, 185804, 185805, 185806, 185807, 185808, 185809, 185810, 185811, 185812, 185901, 185902, 185903, 185904, 185905, 185906, 185907, 185908, 185909, 185910, 185911, 185912, 186001, 186002, 186003, 186004, 186005, 186006, 186007, 186008, 186009, 186010, 186011, 186012, 186101, 186102, 186103, 186104, 186105, 186106, 186107, 186108, 186109, 186110, 186111, 186112, 186201, 186202, 186203, 186204, 186205, 186206, 186207, 186208, 186209, 186210, 186211, 186212, 186301, 186302, 186303, 186304, 186305, 186306, 186307, 186308, 186309, 186310, 186311, 186312, 186401, 186402, 186403, 186404, 186405, 186406, 186407, 186408, 186409, 186410, 186411, 186412, 186501, 186502, 186503, 186504, 186505, 186506, 186507, 186508, 186509, 186510, 186511, 186512, 186601, 186602, 186603, 186604, 186605, 186606, 186607, 186608, 186609, 186610, 186611, 186612, 186701, 186702, 186703, 186704, 186705, 186706, 186707, 186708, 186709, 186710, 186711, 186712, 186801, 186802, 186803, 186804, 186805, 186806, 186807, 186808, 186809, 186810, 186811, 186812, 186901, 186902, 186903, 186904, 186905, 186906, 186907, 186908, 186909, 186910, 186911, 186912, 187001, 187002, 187003, 187004, 187005, 187006, 187007, 187008, 187009, 187010, 187011, 187012, 187101, 187102, 187103, 187104, 187105, 187106, 187107, 187108, 187109, 187110, 187111, 187112, 187201, 187202, 187203, 187204, 187205, 187206, 187207, 187208, 187209, 187210, 187211, 187212, 187301, 187302, 187303, 187304, 187305, 187306, 187307, 187308, 187309, 187310, 187311, 187312, 187401, 187402, 187403, 187404, 187405, 187406, 187407, 187408, 187409, 187410, 187411, 187412, 187501, 187502, 187503, 187504, 187505, 187506, 187507, 187508, 187509, 187510, 187511, 187512, 187601, 187602, 187603, 187604, 187605, 187606, 187607, 187608, 187609, 187610, 187611, 187612, 187701, 187702, 187703, 187704, 187705, 187706, 187707, 187708, 187709, 187710, 187711, 187712, 187801, 187802, 187803, 187804, 187805, 187806, 187807, 187808, 187809, 187810, 187811, 187812, 187901, 187902, 187903, 187904, 187905, 187906, 187907, 187908, 187909, 187910, 187911, 187912, 188001, 188002, 188003, 188004, 188005, 188006, 188007, 188008, 188009, 188010, 188011, 188012, 188101, 188102, 188103, 188104, 188105, 188106, 188107, 188108, 188109, 188110, 188111, 188112, 188201, 188202, 188203, 188204, 188205, 188206, 188207, 188208, 188209, 188210, 188211, 188212, 188301, 188302, 188303, 188304, 188305, 188306, 188307, 188308, 188309, 188310, 188311, 188312, 188401, 188402, 188403, 188404, 188405, 188406, 188407, 188408, 188409, 188410, 188411, 188412, 188501, 188502, 188503, 188504, 188505, 188506, 188507, 188508, 188509, 188510, 188511, 188512, 188601, 188602, 188603, 188604, 188605, 188606, 188607, 188608, 188609, 188610, 188611, 188612, 188701, 188702, 188703, 188704, 188705, 188706, 188707, 188708, 188709, 188710, 188711, 188712, 188801, 188802, 188803, 188804, 188805, 188806, 188807, 188808, 188809, 188810, 188811, 188812, 188901, 188902, 188903, 188904, 188905, 188906, 188907, 188908, 188909, 188910, 188911, 188912, 189001, 189002, 189003, 189004, 189005, 189006, 189007, 189008, 189009, 189010, 189011, 189012/)
;Index
y = (/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -3, -3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, -2, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0.05, 0, 0, 0, 0, 1, 0.05, 0.05, 0.05, 0.05, 0.05, 2, 0, 0, 0, 0, 0, 0, 0, -1, -2, -3, -2, -2, 0, 0, 0, 0, 0, 0, 0, -2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0.05, 1, 0.05, 0.05, 0.05, 0, 0, 0, 0, 0, 0, -1, -1, 0.05, 0.05, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05, 0.05, 0.05, 0.05, 0.05, 0, 0, 0, 0, 0, 0, 0, 0.05, 0.05, 0.05, 0.05, 0.05, 0, 0, 0, 0, 0, 0, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0, 0, 0, 0, 0, 0, 0, -2, -3, -3, -3, -2, 0, 0, 0, 0, 0, 0.05, 0, 0.05, 0.05, 0.05, 0.05, 0.05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0/)
res at tmXBMode = "Manual"
res at tmXBTickStartF = 185501
res at tmXBTickEndF = 189012
;res at tmXBTickSpacingF= 120
res at tmXBLabelStride = 1
bc = new(432,string)
bc= "black"
time = (/185501,185502,185503, 185504, 185505, 185506, 185507, 185508, 185509, 185510, 185511, 185512, 185601, 185602, 185603, 185604, 185605, 185606, 185607, 185608, 185609, 185610, 185611, 185612, 185701, 185702, 185703, 185704, 185705, 185706, 185707, 185708, 185709, 185710, 185711, 185712, 185801, 185802, 185803, 185804, 185805, 185806, 185807, 185808, 185809, 185810, 185811, 185812, 185901, 185902, 185903, 185904, 185905, 185906, 185907, 185908, 185909, 185910, 185911, 185912, 186001, 186002, 186003, 186004, 186005, 186006, 186007, 186008, 186009, 186010, 186011, 186012, 186101, 186102, 186103, 186104, 186105, 186106, 186107, 186108, 186109, 186110, 186111, 186112, 186201, 186202, 186203, 186204, 186205, 186206, 186207, 186208, 186209, 186210, 186211, 186212, 186301, 186302, 186303, 186304, 186305, 186306, 186307, 186308, 186309, 186310, 186311, 186312, 186401, 186402, 186403, 186404, 186405, 186406, 186407, 186408, 186409, 186410, 186411, 186412, 186501, 186502, 186503, 186504, 186505, 186506, 186507, 186508, 186509, 186510, 186511, 186512, 186601, 186602, 186603, 186604, 186605, 186606, 186607, 186608, 186609, 186610, 186611, 186612, 186701, 186702, 186703, 186704, 186705, 186706, 186707, 186708, 186709, 186710, 186711, 186712, 186801, 186802, 186803, 186804, 186805, 186806, 186807, 186808, 186809, 186810, 186811, 186812, 186901, 186902, 186903, 186904, 186905, 186906, 186907, 186908, 186909, 186910, 186911, 186912, 187001, 187002, 187003, 187004, 187005, 187006, 187007, 187008, 187009, 187010, 187011, 187012, 187101, 187102, 187103, 187104, 187105, 187106, 187107, 187108, 187109, 187110, 187111, 187112, 187201, 187202, 187203, 187204, 187205, 187206, 187207, 187208, 187209, 187210, 187211, 187212, 187301, 187302, 187303, 187304, 187305, 187306, 187307, 187308, 187309, 187310, 187311, 187312, 187401, 187402, 187403, 187404, 187405, 187406, 187407, 187408, 187409, 187410, 187411, 187412, 187501, 187502, 187503, 187504, 187505, 187506, 187507, 187508, 187509, 187510, 187511, 187512, 187601, 187602, 187603, 187604, 187605, 187606, 187607, 187608, 187609, 187610, 187611, 187612, 187701, 187702, 187703, 187704, 187705, 187706, 187707, 187708, 187709, 187710, 187711, 187712, 187801, 187802, 187803, 187804, 187805, 187806, 187807, 187808, 187809, 187810, 187811, 187812, 187901, 187902, 187903, 187904, 187905, 187906, 187907, 187908, 187909, 187910, 187911, 187912, 188001, 188002, 188003, 188004, 188005, 188006, 188007, 188008, 188009, 188010, 188011, 188012, 188101, 188102, 188103, 188104, 188105, 188106, 188107, 188108, 188109, 188110, 188111, 188112, 188201, 188202, 188203, 188204, 188205, 188206, 188207, 188208, 188209, 188210, 188211, 188212, 188301, 188302, 188303, 188304, 188305, 188306, 188307, 188308, 188309, 188310, 188311, 188312, 188401, 188402, 188403, 188404, 188405, 188406, 188407, 188408, 188409, 188410, 188411, 188412, 188501, 188502, 188503, 188504, 188505, 188506, 188507, 188508, 188509, 188510, 188511, 188512, 188601, 188602, 188603, 188604, 188605, 188606, 188607, 188608, 188609, 188610, 188611, 188612, 188701, 188702, 188703, 188704, 188705, 188706, 188707, 188708, 188709, 188710, 188711, 188712, 188801, 188802, 188803, 188804, 188805, 188806, 188807, 188808, 188809, 188810, 188811, 188812, 188901, 188902, 188903, 188904, 188905, 188906, 188907, 188908, 188909, 188910, 188911, 188912, 189001, 189002, 189003, 189004, 189005, 189006, 189007, 189008, 189009, 189010, 189011, 189012/)
selyr = (/185709,185812,185912,186001, 186002,18603,186012, 187105,187211,187412,187506,187601,188001,188102,188204/)
do gg = 0,dimsizes(selyr)-1
bc = where(time.eq.selyr(gg),"grey",bc)
end do
res at gsnXYBarChartColors = "bc"
plot=gsn_csm_xy(wks,x,y,res)
draw(plot)
frame(wks)
end
Dr. Melissa Lazenby
Lecturer in Climate Change
Department of Geography
Chichester 1 C150
University of Sussex
"Education is the most powerful weapon which you can use to change the world" Nelson Mandela
[cid:72ad72ef-975a-4887-a128-63e5bd225f2b]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20230510/00dc4dd5/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 64237 bytes
Desc: image.png
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20230510/00dc4dd5/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 24966 bytes
Desc: image.png
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20230510/00dc4dd5/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Outlook-gkrj01ui.png
Type: image/png
Size: 24937 bytes
Desc: Outlook-gkrj01ui.png
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20230510/00dc4dd5/attachment-0005.png>
More information about the ncl-talk
mailing list