prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Equal default chart dimensions
  Currently the default theme in Altair specifies an aspect ratio of 4/3, with a width of 400 and a height of 300 (for continuous data):
  
  ![image](https://user-images.githubusercontent.com/4560057/160310026-189ab3c6-226b-4659-9fe0-e2a7b9d595a0.png)
  
  The default in VegaLite is to make both dimensions of equal length, which I think makes sense since it spreads the data over the same amount of pixels on both the X and Y axis. This could have benefits in terms of making it easier to fairly compare the distribution of the data between the two plotted variables instead of it appearing more spread out over the X axis due to the increase chart width. The default in Vega-Lite is to use 200 px for the width and height which I think is a bit small, but setting both to 300 px looks good:
  
  ![image](https://user-images.githubusercontent.com/4560057/160310042-ca229ef9-2d9c-451e-9af2-a66c899bd941.png)
  
  What do you all think about changing the default width in Altair to 300 px, so that both the X and Y axes occupy the same amount of pixels by default? Are there benefits of having an unequal aspect ratio like the current default that I am missing (maybe that it is more similar to the screen aspect ratio)? I don't think this is a major concern, but thought I would bring it up and see if others also regard it as a small improvement or just a matter of personal aesthetics/taste.
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `altair/vegalite/v5/theme.py`
  Content:
  ```
  1 """Tools for enabling and registering chart themes"""
  2 
  3 from ...utils.theme import ThemeRegistry
  4 
  5 VEGA_THEMES = [
  6     "ggplot2",
  7     "quartz",
  8     "vox",
  9     "fivethirtyeight",
  10     "dark",
  11     "latimes",
  12     "urbaninstitute",
  13 ]
  14 
  15 
  16 class VegaTheme(object):
  17     """Implementation of a builtin vega theme."""
  18 
  19     def __init__(self, theme):
  20         self.theme = theme
  21 
  22     def __call__(self):
  23         return {
  24             "usermeta": {"embedOptions": {"theme": self.theme}},
  25             "config": {"view": {"continuousWidth": 400, "continuousHeight": 300}},
  26         }
  27 
  28     def __repr__(self):
  29         return "VegaTheme({!r})".format(self.theme)
  30 
  31 
  32 # The entry point group that can be used by other packages to declare other
  33 # renderers that will be auto-detected. Explicit registration is also
  34 # allowed by the PluginRegistery API.
  35 ENTRY_POINT_GROUP = "altair.vegalite.v5.theme"  # type: str
  36 themes = ThemeRegistry(entry_point_group=ENTRY_POINT_GROUP)
  37 
  38 themes.register(
  39     "default",
  40     lambda: {"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}}},
  41 )
  42 themes.register(
  43     "opaque",
  44     lambda: {
  45         "config": {
  46             "background": "white",
  47             "view": {"continuousWidth": 400, "continuousHeight": 300},
  48         }
  49     },
  50 )
  51 themes.register("none", lambda: {})
  52 
  53 for theme in VEGA_THEMES:
  54     themes.register(theme, VegaTheme(theme))
  55 
  56 themes.enable("default")
  57
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/altair/vegalite/v5/theme.py b/altair/vegalite/v5/theme.py
  --- a/altair/vegalite/v5/theme.py
  +++ b/altair/vegalite/v5/theme.py
  @@ -22,7 +22,7 @@
       def __call__(self):
           return {
               "usermeta": {"embedOptions": {"theme": self.theme}},
  -            "config": {"view": {"continuousWidth": 400, "continuousHeight": 300}},
  +            "config": {"view": {"continuousWidth": 300, "continuousHeight": 300}},
           }
   
       def __repr__(self):
  @@ -37,14 +37,14 @@
   
   themes.register(
       "default",
  -    lambda: {"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}}},
  +    lambda: {"config": {"view": {"continuousWidth": 300, "continuousHeight": 300}}},
   )
   themes.register(
       "opaque",
       lambda: {
           "config": {
               "background": "white",
  -            "view": {"continuousWidth": 400, "continuousHeight": 300},
  +            "view": {"continuousWidth": 300, "continuousHeight": 300},
           }
       },
   )
  
verification_info: {"golden_diff": "diff --git a/altair/vegalite/v5/theme.py b/altair/vegalite/v5/theme.py\n--- a/altair/vegalite/v5/theme.py\n+++ b/altair/vegalite/v5/theme.py\n@@ -22,7 +22,7 @@\n     def __call__(self):\n         return {\n             \"usermeta\": {\"embedOptions\": {\"theme\": self.theme}},\n-            \"config\": {\"view\": {\"continuousWidth\": 400, \"continuousHeight\": 300}},\n+            \"config\": {\"view\": {\"continuousWidth\": 300, \"continuousHeight\": 300}},\n         }\n \n     def __repr__(self):\n@@ -37,14 +37,14 @@\n \n themes.register(\n     \"default\",\n-    lambda: {\"config\": {\"view\": {\"continuousWidth\": 400, \"continuousHeight\": 300}}},\n+    lambda: {\"config\": {\"view\": {\"continuousWidth\": 300, \"continuousHeight\": 300}}},\n )\n themes.register(\n     \"opaque\",\n     lambda: {\n         \"config\": {\n             \"background\": \"white\",\n-            \"view\": {\"continuousWidth\": 400, \"continuousHeight\": 300},\n+            \"view\": {\"continuousWidth\": 300, \"continuousHeight\": 300},\n         }\n     },\n )\n", "issue": "Equal default chart dimensions\nCurrently the default theme in Altair specifies an aspect ratio of 4/3, with a width of 400 and a height of 300 (for continuous data):\r\n\r\n![image](https://user-images.githubusercontent.com/4560057/160310026-189ab3c6-226b-4659-9fe0-e2a7b9d595a0.png)\r\n\r\nThe default in VegaLite is to make both dimensions of equal length, which I think makes sense since it spreads the data over the same amount of pixels on both the X and Y axis. This could have benefits in terms of making it easier to fairly compare the distribution of the data between the two plotted variables instead of it appearing more spread out over the X axis due to the increase chart width. The default in Vega-Lite is to use 200 px for the width and height which I think is a bit small, but setting both to 300 px looks good:\r\n\r\n![image](https://user-images.githubusercontent.com/4560057/160310042-ca229ef9-2d9c-451e-9af2-a66c899bd941.png)\r\n\r\nWhat do you all think about changing the default width in Altair to 300 px, so that both the X and Y axes occupy the same amount of pixels by default? Are there benefits of having an unequal aspect ratio like the current default that I am missing (maybe that it is more similar to the screen aspect ratio)? I don't think this is a major concern, but thought I would bring it up and see if others also regard it as a small improvement or just a matter of personal aesthetics/taste.\n", "before_files": [{"content": "\"\"\"Tools for enabling and registering chart themes\"\"\"\n\nfrom ...utils.theme import ThemeRegistry\n\nVEGA_THEMES = [\n    \"ggplot2\",\n    \"quartz\",\n    \"vox\",\n    \"fivethirtyeight\",\n    \"dark\",\n    \"latimes\",\n    \"urbaninstitute\",\n]\n\n\nclass VegaTheme(object):\n    \"\"\"Implementation of a builtin vega theme.\"\"\"\n\n    def __init__(self, theme):\n        self.theme = theme\n\n    def __call__(self):\n        return {\n            \"usermeta\": {\"embedOptions\": {\"theme\": self.theme}},\n            \"config\": {\"view\": {\"continuousWidth\": 400, \"continuousHeight\": 300}},\n        }\n\n    def __repr__(self):\n        return \"VegaTheme({!r})\".format(self.theme)\n\n\n# The entry point group that can be used by other packages to declare other\n# renderers that will be auto-detected. Explicit registration is also\n# allowed by the PluginRegistery API.\nENTRY_POINT_GROUP = \"altair.vegalite.v5.theme\"  # type: str\nthemes = ThemeRegistry(entry_point_group=ENTRY_POINT_GROUP)\n\nthemes.register(\n    \"default\",\n    lambda: {\"config\": {\"view\": {\"continuousWidth\": 400, \"continuousHeight\": 300}}},\n)\nthemes.register(\n    \"opaque\",\n    lambda: {\n        \"config\": {\n            \"background\": \"white\",\n            \"view\": {\"continuousWidth\": 400, \"continuousHeight\": 300},\n        }\n    },\n)\nthemes.register(\"none\", lambda: {})\n\nfor theme in VEGA_THEMES:\n    themes.register(theme, VegaTheme(theme))\n\nthemes.enable(\"default\")\n", "path": "altair/vegalite/v5/theme.py"}], "after_files": [{"content": "\"\"\"Tools for enabling and registering chart themes\"\"\"\n\nfrom ...utils.theme import ThemeRegistry\n\nVEGA_THEMES = [\n    \"ggplot2\",\n    \"quartz\",\n    \"vox\",\n    \"fivethirtyeight\",\n    \"dark\",\n    \"latimes\",\n    \"urbaninstitute\",\n]\n\n\nclass VegaTheme(object):\n    \"\"\"Implementation of a builtin vega theme.\"\"\"\n\n    def __init__(self, theme):\n        self.theme = theme\n\n    def __call__(self):\n        return {\n            \"usermeta\": {\"embedOptions\": {\"theme\": self.theme}},\n            \"config\": {\"view\": {\"continuousWidth\": 300, \"continuousHeight\": 300}},\n        }\n\n    def __repr__(self):\n        return \"VegaTheme({!r})\".format(self.theme)\n\n\n# The entry point group that can be used by other packages to declare other\n# renderers that will be auto-detected. Explicit registration is also\n# allowed by the PluginRegistery API.\nENTRY_POINT_GROUP = \"altair.vegalite.v5.theme\"  # type: str\nthemes = ThemeRegistry(entry_point_group=ENTRY_POINT_GROUP)\n\nthemes.register(\n    \"default\",\n    lambda: {\"config\": {\"view\": {\"continuousWidth\": 300, \"continuousHeight\": 300}}},\n)\nthemes.register(\n    \"opaque\",\n    lambda: {\n        \"config\": {\n            \"background\": \"white\",\n            \"view\": {\"continuousWidth\": 300, \"continuousHeight\": 300},\n        }\n    },\n)\nthemes.register(\"none\", lambda: {})\n\nfor theme in VEGA_THEMES:\n    themes.register(theme, VegaTheme(theme))\n\nthemes.enable(\"default\")\n", "path": "altair/vegalite/v5/theme.py"}]}