Gary, Andrew, Sorry it took so long to get back here. Been busy with another project. Here's the skin.conf file.
keith On Monday, January 22, 2018 at 4:49:36 PM UTC-6, gjr80 wrote: > > Keith, > > The first thing I think of when I hear odd characters in plots is a font > issue; however, font issues usually manifest themselves as changes to > extended characters such as degree signs etc. That doesn't appear to be the > case here. When I look at your site just now I see the title of your yearly > humidity plot as 'Outside HumidityMIN(usUnits)', whilst your daily plot has > an umlaut, cents symbol and Y umlaut appended to 'Outside Humidity'. Week > and month plot labels are correct. Given the different labels I am not > sure this is a case of extra characters being added by incorrect editing of > skin.conf, if that was the case the labels would all be identical. One > thing to keep in mind though is that by default the yearly plots are only > generated at midnight each day so you need to delete them to force > reeneration to show up any changes. > > Notwithstanding could you post your Standard skin.conf in its entirety as > Andrew asked. Please don't open or edit the file but rather include the > file as an attachment, note you may need to append .txt to the file name to > let you post it if google gets upset. Otherwise feel free to email it to me > at gjroderick (at) gmail.com > > Gary > > -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
############################################################################### # STANDARD SKIN CONFIGURATION FILE # # Copyright (c) 2010 Tom Keffer <[email protected]> # ############################################################################### [Extras] # Put any extra tags here that you want to be available in the templates # Here's an example. # This radar image would be available as $Extras.radar_img radar_img = http://api.wunderground.com/api/d5fdfed485f87cf6/animatedradar/q/OK/Durant.gif?newmaps=1&timelabel=1&timelabel.y=10&num=5&delay=50&radius=30&width=500&height=500&smooth=1 # This URL will be used as the image hyperlink: radar_url = http://radar.weather.gov/ridge/radar.php?rid=fws&product=NOR&overlay+11101111&loop=yes # Here's another. If you have a Google Analytics ID, uncomment and edit # the next line, and the analytics code will automatically be included # in your generated HTML files: #googleAnalyticsId = UA-12345678-1 ############################################################################### [Units] # This section is for managing the selection and formatting of units. [[Groups]] # For each group of measurements, this section sets what units to # use for it. # NB: The unit is always in the singular. I.e., 'mile_per_hour', # NOT 'miles_per_hour' group_altitude = foot # Options are 'foot' or 'meter' group_degree_day = degree_F_day # Options are 'degree_F_day' or 'degree_C_day' group_direction = degree_compass group_moisture = centibar group_percent = percent group_pressure = inHg # Options are 'inHg', 'mmHg', 'mbar', or 'hPa' group_radiation = watt_per_meter_squared group_rain = inch # Options are 'inch', 'cm', or 'mm' group_rainrate = inch_per_hour # Options are 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour' group_speed = mile_per_hour # Options are 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second' group_speed2 = mile_per_hour2 # Options are 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2' group_temperature = degree_F # Options are 'degree_F' or 'degree_C' group_uv = uv_index group_volt = volt # The following are used internally and should not be changed: group_count = count group_interval = minute group_time = unix_epoch group_elapsed = second [[StringFormats]] # This section sets the string formatting for each type of unit. centibar = %.0f cm = %.2f cm_per_hour = %.2f degree_C = %.1f degree_F = %.1f degree_compass = %.0f foot = %.0f hPa = %.1f hour = %.1f inHg = %.3f inch = %.2f inch_per_hour = %.2f km_per_hour = %.0f km_per_hour2 = %.1f knot = %.0f knot2 = %.1f mbar = %.1f meter = %.0f meter_per_second = %.1f meter_per_second2 = %.1f mile_per_hour = %.0f mile_per_hour2 = %.1f mm = %.1f mmHg = %.1f mm_per_hour = %.1f percent = %.0f second = %.0f uv_index = %.1f volt = %.1f watt_per_meter_squared = %.0f NONE = " N/A" [[Labels]] # This section sets a label to be used for each type of unit. centibar = " cb" cm = " cm" cm_per_hour = " cm/hr" degree_C = °C degree_F = °F degree_compass = ° foot = " feet" hPa = " hPa" inHg = " inHg" inch = " in" inch_per_hour = " in/hr" km_per_hour = " km/h" km_per_hour2 = " km/h" knot = " knots" knot2 = " knots" mbar = " mbar" meter = " meters" meter_per_second = " m/s" meter_per_second2 = " m/s" mile_per_hour = " mph" mile_per_hour2 = " mph" mm = " mm" mmHg = " mmHg" mm_per_hour = " mm/hr" percent = % volt = " V" watt_per_meter_squared = " W/m²" day = " day", " days" hour = " hour", " hours" minute = " minute", " minutes" second = " second", " seconds" NONE = "" [[TimeFormats]] # This section sets the string format to be used for each time scale. # The values below will work in every locale, but may not look # particularly attractive. See the Customization Guide for alternatives. day = %X week = %X (%A) month = %x %X year = %x %X rainyear = %x %X current = %x %X ephem_day = %X ephem_year = %x %X [[Ordinates]] # The ordinal directions. The last one should be for no wind direction directions = N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW, N/A [[DegreeDays]] # This section sets the base temperatures used for the calculation # of heating and cooling degree-days. # Base temperature for heating days, with unit: heating_base = 65, degree_F # Base temperature for cooling days, with unit: cooling_base = 65, degree_F [[Trend]] time_delta = 10800 # 3 hours time_grace = 300 # 5 minutes ############################################################################### [Labels] # Labels used in this skin # Set to hemisphere abbreviations suitable for your location: hemispheres = N, S, E, W # Formats to be used for latitude whole degrees, longitude whole degrees, # and minutes: latlon_formats = "%02d", "%03d", "%05.2f" [[Generic]] # Generic labels, keyed by an observation type. barometer = Barometer dewpoint = Dew Point heatindex = Heat Index inHumidity = Inside Humidity inTemp = Inside Temperature outHumidity = Outside Humidity outTemp = Outside Temperature radiation = Radiation rain = Rain rainRate = Rain Rate rxCheckPercent = ISS Signal Quality UV = UV Index windDir = Wind Direction windGust = Gust Speed windGustDir = Gust Direction windSpeed = Wind Speed windchill = Wind Chill windgustvec = Gust Vector windvec = Wind Vector ############################################################################### [Almanac] # The labels to be used for the phases of the moon: moon_phases = New, Waxing crescent, First quarter, Waxing gibbous, Full, Waning gibbous, Last quarter, Waning crescent ############################################################################### [CheetahGenerator] # This section is used by the generator CheetahGenerator, and specifies # which files are to be generated from which template. # Possible encodings are 'html_entities', 'utf8', or 'strict_ascii' encoding = html_entities [[SummaryByMonth]] # Reports that summarize "by month" [[[NOAA_month]]] encoding = strict_ascii template = NOAA/NOAA-YYYY-MM.txt.tmpl [[SummaryByYear]] # Reports that summarize "by year" [[[NOAA_year]]] encoding = strict_ascii template = NOAA/NOAA-YYYY.txt.tmpl [[ToDate]] # Reports that show statistics "to date", such as day-to-date, # week-to-date, month-to-date, etc. [[[day]]] template = index.html.tmpl [[[week]]] template = week.html.tmpl [[[month]]] template = month.html.tmpl [[[year]]] template = year.html.tmpl [[[RSS]]] template = RSS/weewx_rss.xml.tmpl [[[Mobile]]] template = mobile.html.tmpl [[[MobileSmartphone]]] template = smartphone/index.html.tmpl [[[MobileTempOutside]]] template = smartphone/temp_outside.html.tmpl [[[MobileRain]]] template = smartphone/rain.html.tmpl [[[MobileBarometer]]] template = smartphone/barometer.html.tmpl [[[MobileWind]]] template = smartphone/wind.html.tmpl [[[MobileRadar]]] template = smartphone/radar.html.tmpl ############################################################################### [CopyGenerator] # This section is used by the generator CopyGenerator # List of files to be copied only the first time the generator runs copy_once = backgrounds/*, weewx.css, mobile.css, favicon.ico, smartphone/icons/*, smartphone/custom.js # List of files to be copied each time the generator runs # copy_always = ############################################################################### [ImageGenerator] # This section lists all the images to be generated, what SQL types are to # be included in them, along with many plotting options, such as color or # font. There's a default for almost everything, if not specified below. # Nevertheless, I have explicitly put in values, to make it easy to see # and understand the options. # # Fonts can be anything accepted by the Python Imaging Library (PIL), which # is currently truetype (.ttf), or PIL's own font format (.pil). See # http://www.pythonware.com/library/pil/handbook/imagefont.htm for more # details. Note that "font size" is only used with truetype (.ttf) # fonts. For others, font size is determined by the bit-mapped size, # usually encoded in the file name (e.g., courB010.pil). If a font cannot # be found, then a default font will be used. # # Colors can be specified any of three ways: # 1. Notation 0xBBGGRR; # 2. Notation #RRGGBB; or # 3. Using an English name, such as 'yellow', or 'blue'. # So, 0xff0000, #0000ff, or 'blue' would all specify a pure blue color. image_width = 300 image_height = 180 image_background_color = 0xf5f5f5 chart_background_color = 0xd8d8d8 chart_gridline_color = 0xa0a0a0 # Setting to 2 or more might give a sharper image with fewer jagged edges. anti_alias = 1 top_label_font_path = /usr/share/fonts/truetype/freefont/FreeMonoBold.ttf top_label_font_size = 10 unit_label_font_path = /usr/share/fonts/truetype/freefont/FreeMonoBold.ttf unit_label_font_size = 10 unit_label_font_color = 0x000000 bottom_label_font_path = /usr/share/fonts/truetype/freefont/FreeMonoBold.ttf bottom_label_font_size = 12 bottom_label_font_color = 0x000000 bottom_label_offset = 3 axis_label_font_path = /usr/share/fonts/truetype/freefont/FreeMonoBold.ttf axis_label_font_size = 10 axis_label_font_color = 0x000000 # Options for the compass rose, used for progressive vector plots rose_label = N rose_label_font_path = /usr/share/fonts/truetype/freefont/FreeMonoBold.ttf rose_label_font_size = 10 rose_label_font_color = 0x000000 # Default colors for the plot lines. These can be overridden for # individual lines using option 'color' chart_line_colors = 0xb48242, 0x4242b4, 0x42b442 # Type of line. Only 'solid' or 'none' is offered now line_type = 'solid' # Size of marker in pixels marker_size = 8 # Type of marker. Pick one of 'cross', 'x', 'circle', 'box', or 'none' marker_type ='none' # Default fill colors for bar charts. These can be overridden for # individual bar plots using option 'fill_color' chart_fill_colors = 0xc4b272, 0x7272c4, 0x72c472 # The following option merits an explanation. The y-axis scale used for # plotting can be controlled using option 'yscale'. It is a 3-way tuple, # with values (ylow, yhigh, min_interval). If set to "None", a parameter is # set automatically, otherwise the value is used. However, in the case of # min_interval, what is set is the *minimum* y-axis tick interval. yscale = None, None, None # For progressive vector plots, you can choose to rotate the vectors. # Positive is clockwise. # For my area, westerlies overwhelmingly predominate, so by rotating # positive 90 degrees, the average vector will point straight up. vector_rotate = 90 # This defines what fraction of the difference between maximum and minimum # horizontal chart bounds is considered a gap in the samples and should not # be plotted. line_gap_fraction = 0.01 # This controls whether day/night bands will be shown. They only look good # on the day and week plots. show_daynight = true # These control the appearance of the bands if they are shown. # Here's a monochrome scheme: daynight_day_color = 0xdfdfdf daynight_night_color = 0xbbbbbb daynight_edge_color = 0xd0d0d0 # Here's an alternative, using a blue/yellow tint: #daynight_day_color = 0xf8ffff #daynight_night_color = 0xfff8f8 #daynight_edge_color = 0xf8f8ff ## What follows is a list of subsections, each specifying a time span, such ## as a day, week, month, or year. There's nothing special about them or ## their names: it's just a convenient way to group plots with a time span ## in common. You could add a time span [[biweek_images]] and add the ## appropriate time length, aggregation strategy, etc., without changing ## any code. ## ## Within each time span, each sub-subsection is the name of a plot to be ## generated for that time span. The generated plot will be stored using ## that name, in whatever directory was specified by option 'HTML_ROOT' ## in weewx.conf. ## ## With one final nesting (four brackets!) is the sql type of each line to ## be included within that plot. ## ## Unless overridden, leaf nodes inherit options from their parent # Default plot and aggregation. Can get overridden at any level. plot_type = line aggregate_type = none width = 1 time_length = 86400 # == 24 hours [[day_images]] x_label_format = %H:%M bottom_label_format = %x %X time_length = 97200 # == 27 hours [[[daybarometer]]] [[[[barometer]]]] [[[daytempdew]]] [[[[outTemp]]]] [[[[dewpoint]]]] [[[daytempchill]]] [[[[windchill]]]] [[[[heatindex]]]] [[[dayhumidity]]] [[[[outHumidity]]]] [[[dayrain]]] # Make sure the y-axis increment is at least 0.02 for the rain plot yscale = None, None, 0.02 plot_type = bar [[[[rain]]]] aggregate_type = sum aggregate_interval = 3600 label = Rain (hourly total) [[[dayrx]]] [[[[rxCheckPercent]]]] [[[daywind]]] [[[[windSpeed]]]] [[[[windGust]]]] [[[dayinside]]] [[[[inTemp]]]] [[[daywinddir]]] # Hardwire in the y-axis scale for wind direction yscale = 0.0, 360.0, 45.0 [[[[windDir]]]] [[[daywindvec]]] [[[[windvec]]]] plot_type = vector [[[dayradiation]]] [[[[radiation]]]] [[[[radiation_max]]]] data_type = radiation aggregate_type = max aggregate_interval = 3600 label = max [[[dayuv]]] yscale = 0, 16, 1 [[[[UV]]]] [[[[UV_max]]]] data_type = UV aggregate_type = max aggregate_interval = 3600 label = max [[week_images]] x_label_format = %d bottom_label_format = %x %X time_length = 604800 # == 7 days aggregate_type = avg aggregate_interval = 3600 [[[weekbarometer]]] [[[[barometer]]]] [[[weektempdew]]] [[[[outTemp]]]] [[[[dewpoint]]]] [[[weektempchill]]] [[[[windchill]]]] [[[[heatindex]]]] [[[weekhumidity]]] [[[[outHumidity]]]] [[[weekrain]]] yscale = None, None, 0.02 plot_type = bar [[[[rain]]]] aggregate_type = sum aggregate_interval = 86400 label = Rain (daily total) [[[weekrx]]] [[[[rxCheckPercent]]]] [[[weekwind]]] [[[[windSpeed]]]] [[[[windGust]]]] aggregate_type = max [[[weekinside]]] [[[[inTemp]]]] [[[weekwinddir]]] yscale = 0.0, 360.0, 45.0 [[[[windDir]]]] [[[weekwindvec]]] [[[[windvec]]]] plot_type = vector [[[weekradiation]]] [[[[radiation]]]] [[[[radiation_max]]]] data_type = radiation aggregate_type = max label = max [[[weekuv]]] yscale = 0, 16, 1 [[[[UV]]]] [[[[UV_max]]]] data_type = UV aggregate_type = max label = max [[month_images]] x_label_format = %d bottom_label_format = %x %X time_length = 2592000 # == 30 days aggregate_type = avg aggregate_interval = 10800 # == 3 hours show_daynight = false [[[monthbarometer]]] [[[[barometer]]]] [[[monthtempdew]]] [[[[outTemp]]]] [[[[dewpoint]]]] [[[monthtempchill]]] [[[[windchill]]]] [[[[heatindex]]]] [[[monthhumidity]]] [[[[outHumidity]]]] [[[monthrain]]] yscale = None, None, 0.02 plot_type = bar [[[[rain]]]] aggregate_type = sum aggregate_interval = 86400 label = Rain (daily total) [[[monthrx]]] [[[[rxCheckPercent]]]] [[[monthwind]]] [[[[windSpeed]]]] [[[[windGust]]]] aggregate_type = max [[[monthinside]]] [[[[inTemp]]]] [[[monthwinddir]]] yscale = 0.0, 360.0, 45.0 [[[[windDir]]]] [[[monthwindvec]]] [[[[windvec]]]] plot_type = vector [[[monthradiation]]] [[[[radiation]]]] [[[[radiation_max]]]] data_type = radiation aggregate_type = max label = max [[[monthuv]]] yscale = 0, 16, 1 [[[[UV]]]] [[[[UV_max]]]] data_type = UV aggregate_type = max label = max [[year_images]] x_label_format = %m/%d bottom_label_format = %x %X time_length = 31536000 # == 365 days aggregate_type = avg aggregate_interval = 86400 show_daynight = false [[[yearbarometer]]] [[[[barometer]]]] [[[yeartempdew]]] [[[[outTemp]]]] [[[[dewpoint]]]] [[[yearhumidity]]] [[[[outHumidity]]]] # Daily high/lows: [[[yearhilow]]] [[[[hi]]]] data_type = outTemp aggregate_type = max label = High [[[[low]]]] data_type = outTemp aggregate_type = min label = Low Temperature [[[yearwind]]] [[[[windSpeed]]]] [[[[windGust]]]] aggregate_type = max [[[yeartempchill]]] [[[[windchill]]]] [[[[heatindex]]]] [[[yearrain]]] yscale = None, None, 0.02 plot_type = bar [[[[rain]]]] aggregate_type = sum # aggregate_interval = 2629800 # Magic number: the length of a nominal month aggregate_interval = 604800 # == 1 week label = Rain (weekly total) [[[yearrx]]] [[[[rxCheckPercent]]]] [[[yearinside]]] [[[[inTemp]]]] [[[yearwinddir]]] yscale = 0.0, 360.0, 45.0 [[[[windDir]]]] [[[yearwindvec]]] [[[[windvec]]]] plot_type = vector [[[yearradiation]]] [[[[radiation]]]] [[[[radiation_max]]]] data_type = radiation aggregate_type = max label = max [[[yearuv]]] yscale = 0, 16, 1 [[[[UV]]]] [[[[UV_max]]]] data_type = UV aggregate_type = max label = max # A progressive vector plot of daily gust vectors overlayed # with the daily wind average would look something like this: # [[[yeargustvec]]] # [[[[windvec]]]] # plot_type = vector # aggregate_type = avg # [[[[windgustvec]]]] # plot_type = vector # aggregate_type = max ############################################################################### # # The list of generators that are to be run: # [Generators] generator_list = weewx.cheetahgenerator.CheetahGenerator, weewx.imagegenerator.ImageGenerator, weewx.reportengine.CopyGenerator
