File:Workweeks-map.svg

頁面內容不支援其他語言。
這個檔案來自維基共享資源
維基百科,自由的百科全書

原始檔案(SVG 檔案,表面大小:2,754 × 1,398 像素,檔案大小:1.06 MB)


摘要

描述
English: Countries of the world by their work-week.
 
Monday - Friday
 
Monday - Saturday
 
Sunday - Thursday
 
Sunday - Friday
 
Saturday - Thursday
 
Monday - Thursday and Saturday
 
Mixed
This map is based on https://en.wikipedia.org/w/index.php?title=Workweek_and_weekend&oldid=858023057
日期
來源 自己的作品
作者 MartinThoma

Script to create the map:

#!/usr/bin/env python

# 3rd party modules
from lxml import etree
import mpu.pd


def main(filename="weekend.svg"):
    mon_fri = ['Dominican Republic', 'Lebanon', 'Serbia', 'Albania', 'Angola',
               'Argentina', 'Armenia', 'Azerbaijan', 'Austria', 'Australia',
               'Benin',
               'Belarus', 'Belgium', 'Brazil', 'Burundi', 'Bulgaria', 'Canada',
               'Cambodia', 'Cameroon', 'Chile', 'China', 'Croatia',
               'Costa Rica', 'Czech Republic', 'Denmark', 'Ethiopia',
               'Estonia', 'Finland', 'France', 'Gabon',
               'Gambia', 'Germany', 'Ghana', 'Greece', 'Hungary', 'Indonesia',
               'Ireland',
               'Italy', 'Côte d\'Ivoire', 'Japan', 'Kazakhstan', 'Kenya',
               'Lao People\'s Democratic Republic', 'Latvia', 'Lesotho',
               'Lithuania', 'Madagascar',
               'Malawi', 'Mali', 'Malta', 'Mauritania', 'Mongolia', 'Morocco',
               'Mozambique', 'Netherlands', 'New Zealand', 'Nigeria',
               'Norway',
               'Pakistan', 'Poland', 'Portugal', 'Romania', 'Russia', 'Rwanda',
               'Senegal',
               'Singapore', 'Slovakia', 'Spain', 'Sri Lanka',
               'South Africa', 'South Korea', 'Suriname', 'Swaziland',
               'Sweden', 'Switzerland',
               'Seychelles', 'Taiwan', 'Tanzania', 'Togo', 'Thailand',
               'Trinidad and Tobago', 'Tunisia', 'Turkey', 'Ukraine',
               'United Kingdom', 'United States',
               'Vietnam', 'Congo (Democratic Republic of the)', 'Zambia',
               'Zimbabwe']
    mon_sat = ['Equatorial Guinea', 'Hong Kong', 'Mexico', 'Philippines',
               'Uganda', 'India', 'Colombia']
    sun_thu = ['Afghanistan', 'Algeria', 'Bahrain', 'Egypt', 'Iraq', 'Israel',
               'Jordan', 'Kuwait', 'Libya', 'Maldives', 'Oman', 'Qatar',
               'Saudi Arabia', 'Sudan', 'Syria', 'Yemen',
               'United Arab Emirates', 'Bangladesh']
    sat_thu = ['Djibouti', 'Palestine', 'Iran']
    sun_fri = ['Nepal']
    mon_thu_sat = ['Brunei Darussalam']
    mixed = ['Malaysia']

    countries = mpu.pd.countries
    countries = countries.set_index('English short name (upper/lower case)')
    country2dict = countries.to_dict('index')

    legend = [(mon_fri, '#B8D8D8'),
              (mon_sat, 'orange'),
              (sun_thu, '#4F6367'),
              (sat_thu, 'red'),
              (sun_fri, 'tomato'),
              (mon_thu_sat, '#ff00ff'),
              (mixed, '#00ffff')]

    colors = {}
    for collection, color in legend:
        for country in collection:
            if country in country2dict:
                code = country2dict[country]['Alpha-2 code'].lower()
                colors[code] = color
            else:
                print('Could not find the Alpha-2 code for \'{}\' in mpu'
                      .format(country))

    tree = read_svg(filename)
    root = tree.getroot()
    for country_id in colors.keys():
        element = root.xpath('//*[@id="{}"]'.format(country_id))
        if len(element) == 1:
            element = element[0]
            element.set("style", 'fill: {};'.format(colors[country_id]))
            for el in element.getchildren():
                el.set("style", 'fill: {};'.format(colors[country_id]))
        else:
            print("Wrong length for id={}".format(country_id))
    write_svg(root)


def read_svg(filename):
    """
    Read an SVG file.

    Parameters
    ----------
    filename : str

    Returns
    -------
    tree : lxml.ElementTree
    """
    with open(filename, 'r') as f:
        tree = etree.parse(f)
    return tree


def write_svg(root, filename='weekend-auto.svg'):
    """
    Read an SVG file.

    Parameters
    ----------
    root : lxml.Element
    filename : str
    """
    etree.ElementTree(root).write(filename, pretty_print=True)


if __name__ == '__main__':
    main()

授權條款

我,本作品的著作權持有者,決定用以下授權條款發佈本作品:
Creative Commons CC-Zero 此檔案在創用CC CC0 1.0 通用公有領域貢獻宣告之下分發。
在此宣告之下分發本作品者,已依據各國著作權法,在全世界放棄其對本作品所擁有的著作權及所有相關相似的法律權利,從而將本作品貢獻至公有領域。您可以複製、修改、分發和演示該作品,用於任何商業用途,所有這些都不需要請求授權。

說明

添加單行說明來描述出檔案所代表的內容

在此檔案描寫的項目

描繪內容

image/svg+xml

檔案歷史

點選日期/時間以檢視該時間的檔案版本。

日期/時間縮⁠圖尺寸使用者備⁠註
目前2023年9月29日 (五) 12:14於 2023年9月29日 (五) 12:14 版本的縮圖2,754 × 1,398(1.06 MB)VyvagabaChanged the file to an svg file that is more easily editable, addressed some recent updates and missing data.
2023年9月29日 (五) 12:12於 2023年9月29日 (五) 12:12 版本的縮圖2,560 × 1,314(1.09 MB)VyvagabaReverted to version as of 19:41, 4 September 2018 (UTC)
2023年9月29日 (五) 12:07於 2023年9月29日 (五) 12:07 版本的縮圖2,754 × 1,398(1.06 MB)VyvagabaChanged the file to an svg file that is more easily editable, addressed some recent updates and missing data.
2018年9月4日 (二) 19:41於 2018年9月4日 (二) 19:41 版本的縮圖2,560 × 1,314(1.09 MB)MartinThomaUser created page with UploadWizard

下列2個頁面有用到此檔案:

全域檔案使用狀況

以下其他 wiki 使用了這個檔案:

詮釋資料