mirror of https://github.com/Nonannet/pyladoc.git
Compare commits
No commits in common. "c9086026577caa3cd6297f6d4abfaf2c342f8861" and "39142a1e224c83e2353e1b173d83e3e06f16a469" have entirely different histories.
c908602657
...
39142a1e22
|
@ -7,12 +7,12 @@ on:
|
||||||
branches: [main]
|
branches: [main]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-ubuntu:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
python-version: ["3.10", 3.13]
|
python-version: ["3.10", 3.11, 3.12, 3.13]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
|
@ -24,7 +24,7 @@ jobs:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
|
|
||||||
- name: Install LaTeX
|
- name: Install LaTeX
|
||||||
run: sudo apt-get install -y texlive-latex-extra texlive-fonts-recommended lmodern texlive-xetex texlive-science
|
run: sudo apt-get install -y texlive-latex-extra texlive-fonts-extra lmodern texlive-xetex texlive-science
|
||||||
|
|
||||||
- name: Install Python dependencies
|
- name: Install Python dependencies
|
||||||
run: |
|
run: |
|
||||||
|
@ -44,56 +44,5 @@ jobs:
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
if: strategy.job-index == 0
|
if: strategy.job-index == 0
|
||||||
with:
|
with:
|
||||||
name: rendering-results-ubuntu
|
name: rendering-results
|
||||||
path: tests/out/test_*_render*
|
path: tests/out/test_*_render*
|
||||||
|
|
||||||
build-windows:
|
|
||||||
runs-on: windows-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
python-version: ["3.10", "3.13"]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Check out code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: ${{ matrix.python-version }}
|
|
||||||
|
|
||||||
- name: Install LaTeX
|
|
||||||
run: choco install miktex
|
|
||||||
|
|
||||||
- name: Check directory structure of MiKTeX installation
|
|
||||||
run: |
|
|
||||||
dir "C:\Program Files\MiKTeX\miktex\bin\x64\*"
|
|
||||||
|
|
||||||
- name: Add miktex to PATH
|
|
||||||
run: |
|
|
||||||
echo "PATH=$PATH;C:\Program Files\MiKTeX\miktex\bin\x64" | Out-File -FilePath $env:GITHUB_ENV -Append
|
|
||||||
|
|
||||||
- name: Show path variable
|
|
||||||
run: |
|
|
||||||
echo $env:PATH
|
|
||||||
echo "-----"
|
|
||||||
echo $env:GITHUB_ENV
|
|
||||||
|
|
||||||
- name: test xelatex
|
|
||||||
run: xelatex --version
|
|
||||||
|
|
||||||
- name: Install Python dependencies
|
|
||||||
run: |
|
|
||||||
python -m pip install --upgrade pip
|
|
||||||
python -m pip install -e .[dev]
|
|
||||||
|
|
||||||
- name: Run tests with pytest
|
|
||||||
run: pytest
|
|
||||||
|
|
||||||
- name: Upload rendered files
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
if: strategy.job-index == 0
|
|
||||||
with:
|
|
||||||
name: rendering-results-windows
|
|
||||||
path: tests/out/test_*_render*.pdf
|
|
|
@ -1,35 +0,0 @@
|
||||||
name: Publish to PyPI
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "v*"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
publish:
|
|
||||||
name: Build and publish
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Ensure this is main branch
|
|
||||||
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')
|
|
||||||
run: echo "Proceeding with publish"
|
|
||||||
|
|
||||||
- uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: "3.11"
|
|
||||||
|
|
||||||
- name: Install build tools
|
|
||||||
run: python -m pip install --upgrade build twine
|
|
||||||
|
|
||||||
- name: Build package
|
|
||||||
run: python -m build
|
|
||||||
|
|
||||||
- name: Publish to PyPI
|
|
||||||
env:
|
|
||||||
TWINE_USERNAME: __token__
|
|
||||||
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
||||||
|
|
||||||
run: python -m twine upload dist/*
|
|
|
@ -1,12 +1,12 @@
|
||||||
[project]
|
[project]
|
||||||
name = "pyladoc"
|
name = "pyladoc"
|
||||||
version = "1.2.2"
|
version = "1.2.0"
|
||||||
authors = [
|
authors = [
|
||||||
{ name="Nicolas Kruse", email="nicolas.kruse@nonan.net" },
|
{ name="Nicolas Kruse", email="nicolas.kruse@nonan.net" },
|
||||||
]
|
]
|
||||||
description = "Package for generating HTML and PDF/latex from python code"
|
description = "Package for generating HTML and PDF/latex from python code"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.10"
|
requires-python = ">=3.8"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
classifiers = [
|
classifiers = [
|
||||||
"Programming Language :: Python :: 3",
|
"Programming Language :: Python :: 3",
|
||||||
|
|
|
@ -8,7 +8,6 @@ from . import latex
|
||||||
import pkgutil
|
import pkgutil
|
||||||
from html.parser import HTMLParser
|
from html.parser import HTMLParser
|
||||||
from io import StringIO
|
from io import StringIO
|
||||||
from . import svg_tools
|
|
||||||
|
|
||||||
HTML_OUTPUT = 0
|
HTML_OUTPUT = 0
|
||||||
LATEX_OUTPUT = 1
|
LATEX_OUTPUT = 1
|
||||||
|
@ -59,6 +58,17 @@ def _markdown_to_html(text: str) -> str:
|
||||||
return html_text
|
return html_text
|
||||||
|
|
||||||
|
|
||||||
|
def _clean_svg(svg_text: str) -> str:
|
||||||
|
# remove all tags not alllowd for inline svg from metadata:
|
||||||
|
svg_text = re.sub(r'<metadata>.*?</metadata>', '', svg_text, flags=re.DOTALL)
|
||||||
|
|
||||||
|
# remove illegal path-tags without d attribute:
|
||||||
|
return re.sub(r'<path(?![^>]*\sd=)\s.*?/>', '', svg_text, flags=re.DOTALL)
|
||||||
|
|
||||||
|
# def _get_templ_vars(template: str) -> list[str]:
|
||||||
|
# return re.findall("<!---START (.+?)--->.*?<!---END .+?--->", template, re.DOTALL)
|
||||||
|
|
||||||
|
|
||||||
def _drop_indent(text: str, amount: int) -> str:
|
def _drop_indent(text: str, amount: int) -> str:
|
||||||
"""
|
"""
|
||||||
Drops a specific number of indentation spaces from a multiline text.
|
Drops a specific number of indentation spaces from a multiline text.
|
||||||
|
@ -132,7 +142,6 @@ def escape_html(text: str) -> str:
|
||||||
|
|
||||||
|
|
||||||
def figure_to_string(fig: Figure,
|
def figure_to_string(fig: Figure,
|
||||||
unique_id: str,
|
|
||||||
figure_format: FFormat = 'svg',
|
figure_format: FFormat = 'svg',
|
||||||
font_family: str | None = None,
|
font_family: str | None = None,
|
||||||
scale: float = 1,
|
scale: float = 1,
|
||||||
|
@ -166,7 +175,7 @@ def figure_to_string(fig: Figure,
|
||||||
elif figure_format == 'svg' and not base64:
|
elif figure_format == 'svg' and not base64:
|
||||||
i = buff.read(2028).find(b'<svg') # skip xml and DOCTYPE header
|
i = buff.read(2028).find(b'<svg') # skip xml and DOCTYPE header
|
||||||
buff.seek(max(i, 0))
|
buff.seek(max(i, 0))
|
||||||
return svg_tools.update_svg_ids(svg_tools.clean_svg(buff.read().decode('utf-8')), unique_id)
|
return _clean_svg(buff.read().decode('utf-8'))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
image_mime = {"png": "image/png", "svg": "image/svg+xml"}
|
image_mime = {"png": "image/png", "svg": "image/svg+xml"}
|
||||||
|
@ -325,9 +334,9 @@ class DocumentWriter():
|
||||||
ref_type = parts[0]
|
ref_type = parts[0]
|
||||||
ref_id = parts[1]
|
ref_id = parts[1]
|
||||||
caption, reference = self._add_item(ref_id, ref_type, '({})')
|
caption, reference = self._add_item(ref_id, ref_type, '({})')
|
||||||
return (f'<latex type="block" reference="{reference}" caption="{caption}">{content}</latex>')
|
return (f'\n<latex type="block" reference="{reference}" caption="{caption}">{content}</latex>\n')
|
||||||
else:
|
else:
|
||||||
return f'<latex type="block">{content}</latex>'
|
return f'\n<latex type="block">{content}</latex>\n'
|
||||||
|
|
||||||
result = block_pattern.sub(block_repl, text)
|
result = block_pattern.sub(block_repl, text)
|
||||||
|
|
||||||
|
@ -342,13 +351,13 @@ class DocumentWriter():
|
||||||
def _get_equation_html(self, latex_equation: str, caption: str, reference: str, block: bool = False) -> str:
|
def _get_equation_html(self, latex_equation: str, caption: str, reference: str, block: bool = False) -> str:
|
||||||
fig = latex_to_figure(latex_equation)
|
fig = latex_to_figure(latex_equation)
|
||||||
if block:
|
if block:
|
||||||
fig_str = figure_to_string(fig, reference, self._figure_format, base64=self._base64_svgs)
|
fig_str = figure_to_string(fig, self._figure_format, base64=self._base64_svgs)
|
||||||
ret = ('<div class="equation-container" '
|
ret = ('<div class="equation-container" '
|
||||||
f'id="pyld-ref-{reference}">'
|
f'id="pyld-ref-{reference}">'
|
||||||
f'<div class="equation">{fig_str}</div>'
|
f'<div class="equation">{fig_str}</div>'
|
||||||
f'<div class="equation-number">{caption}</div></div>')
|
f'<div class="equation-number">{caption}</div></div>')
|
||||||
else:
|
else:
|
||||||
ret = '<span class="inline-equation">' + figure_to_string(fig, reference, self._figure_format, base64=self._base64_svgs) + '</span>'
|
ret = '<span class="inline-equation">' + figure_to_string(fig, self._figure_format, base64=self._base64_svgs) + '</span>'
|
||||||
|
|
||||||
plt.close(fig)
|
plt.close(fig)
|
||||||
return ret
|
return ret
|
||||||
|
@ -364,54 +373,34 @@ class DocumentWriter():
|
||||||
self.eq_caption: str = ''
|
self.eq_caption: str = ''
|
||||||
self.reference: str = ''
|
self.reference: str = ''
|
||||||
self.block: bool = False
|
self.block: bool = False
|
||||||
self.p_tags: int = 0
|
|
||||||
self.dw = document_writer
|
self.dw = document_writer
|
||||||
self.latex_count = 0
|
|
||||||
self.self_closing = False
|
|
||||||
|
|
||||||
def handle_starttag(self, tag: str, attrs: list[tuple[str, str | None]]) -> None:
|
def handle_starttag(self, tag: str, attrs: list[tuple[str, str | None]]) -> None:
|
||||||
if tag == 'hr':
|
if tag == 'hr':
|
||||||
self.modified_html.write(f"<{tag}>")
|
self.modified_html.write(f"<{tag}>")
|
||||||
self.self_closing = True
|
|
||||||
elif tag == 'latex':
|
elif tag == 'latex':
|
||||||
self.in_latex = True
|
self.in_latex = True
|
||||||
attr_dict = {k: v if v else '' for k, v in attrs}
|
attr_dict = {k: v if v else '' for k, v in attrs}
|
||||||
self.eq_caption = attr_dict.get('caption', '')
|
self.eq_caption = attr_dict.get('caption', '')
|
||||||
if 'reference' in attr_dict:
|
self.reference = attr_dict.get('reference', '')
|
||||||
self.reference = attr_dict['reference']
|
|
||||||
else:
|
|
||||||
self.latex_count += 1
|
|
||||||
self.reference = f"auto_id_{self.latex_count}"
|
|
||||||
self.block = attr_dict.get('type') == 'block'
|
self.block = attr_dict.get('type') == 'block'
|
||||||
elif not self.in_latex:
|
elif not self.in_latex:
|
||||||
tag_text = self.get_starttag_text()
|
tag_text = self.get_starttag_text()
|
||||||
if tag_text:
|
if tag_text:
|
||||||
self.self_closing = tag_text.endswith('/>')
|
|
||||||
self.modified_html.write(tag_text)
|
self.modified_html.write(tag_text)
|
||||||
if tag == 'p':
|
|
||||||
self.p_tags += 1
|
|
||||||
|
|
||||||
def handle_data(self, data: str) -> None:
|
def handle_data(self, data: str) -> None:
|
||||||
if self.in_latex:
|
if self.in_latex:
|
||||||
eq_html = self.dw._get_equation_html(data, self.eq_caption, self.reference, self.block)
|
self.modified_html.write(
|
||||||
if self.p_tags > 0 and self.block:
|
self.dw._get_equation_html(data, self.eq_caption, self.reference, self.block))
|
||||||
# If a block equation (with divs) is inside a p tag: close and reopen it
|
|
||||||
self.modified_html.write(f"</p>{eq_html}<p>")
|
|
||||||
else:
|
|
||||||
self.modified_html.write(eq_html)
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.modified_html.write(data)
|
self.modified_html.write(data)
|
||||||
|
|
||||||
def handle_endtag(self, tag: str) -> None:
|
def handle_endtag(self, tag: str) -> None:
|
||||||
if tag == 'latex':
|
if tag == 'latex':
|
||||||
self.in_latex = False
|
self.in_latex = False
|
||||||
elif self.self_closing:
|
|
||||||
self.self_closing = False
|
|
||||||
else:
|
else:
|
||||||
self.modified_html.write(f"</{tag}>")
|
self.modified_html.write(f"</{tag}>")
|
||||||
if tag == 'p' and self.p_tags > 0:
|
|
||||||
self.p_tags -= 1
|
|
||||||
|
|
||||||
parser = HTMLPostProcessor(self)
|
parser = HTMLPostProcessor(self)
|
||||||
parser.feed(html_code)
|
parser.feed(html_code)
|
||||||
|
@ -446,14 +435,14 @@ class DocumentWriter():
|
||||||
caption_prefix, reference = self._add_item(ref_id, ref_type, prefix_pattern)
|
caption_prefix, reference = self._add_item(ref_id, ref_type, prefix_pattern)
|
||||||
return '<div id="pyld-ref-%s" class="figure">%s%s</div>' % (
|
return '<div id="pyld-ref-%s" class="figure">%s%s</div>' % (
|
||||||
reference,
|
reference,
|
||||||
figure_to_string(fig, reference, self._figure_format, base64=self._base64_svgs, scale=self._fig_scale),
|
figure_to_string(fig, self._figure_format, base64=self._base64_svgs, scale=self._fig_scale),
|
||||||
'<br>' + caption_prefix + escape_html(caption) if caption else '')
|
'<br>' + caption_prefix + escape_html(caption) if caption else '')
|
||||||
|
|
||||||
def render_to_latex() -> str:
|
def render_to_latex() -> str:
|
||||||
_, reference = self._add_item(ref_id, ref_type, prefix_pattern)
|
_, reference = self._add_item(ref_id, ref_type, prefix_pattern)
|
||||||
return '\\begin{figure}%s\n%s\n\\caption{%s}\n%s\\end{figure}' % (
|
return '\\begin{figure}%s\n%s\n\\caption{%s}\n%s\\end{figure}' % (
|
||||||
'\n\\centering' if centered else '',
|
'\n\\centering' if centered else '',
|
||||||
figure_to_string(fig, reference, 'pgf', self._font_family, scale=self._fig_scale),
|
figure_to_string(fig, 'pgf', self._font_family, scale=self._fig_scale),
|
||||||
latex.escape_text(caption),
|
latex.escape_text(caption),
|
||||||
'\\label{%s}\n' % latex.normalize_label_text(reference) if ref_id else '')
|
'\\label{%s}\n' % latex.normalize_label_text(reference) if ref_id else '')
|
||||||
|
|
||||||
|
@ -614,7 +603,7 @@ class DocumentWriter():
|
||||||
norm_text = _normalize_text_indent(str(text))
|
norm_text = _normalize_text_indent(str(text))
|
||||||
|
|
||||||
def render_to_html() -> str:
|
def render_to_html() -> str:
|
||||||
html = _markdown_to_html(self._equation_embedding_reescaping(norm_text))
|
html = self._html_post_processing(_markdown_to_html(self._equation_embedding_reescaping(norm_text)))
|
||||||
if section_class:
|
if section_class:
|
||||||
return '<div class="' + section_class + '">' + html + '</div>'
|
return '<div class="' + section_class + '">' + html + '</div>'
|
||||||
else:
|
else:
|
||||||
|
@ -648,7 +637,7 @@ class DocumentWriter():
|
||||||
self._base64_svgs = base64_svgs
|
self._base64_svgs = base64_svgs
|
||||||
self._fig_scale = figure_scale
|
self._fig_scale = figure_scale
|
||||||
|
|
||||||
return self._html_post_processing(_fillin_reference_names(self._render_doc(HTML_OUTPUT), self._item_index))
|
return _fillin_reference_names(self._render_doc(HTML_OUTPUT), self._item_index)
|
||||||
|
|
||||||
def to_latex(self, font_family: Literal[None, 'serif', 'sans-serif'] = None,
|
def to_latex(self, font_family: Literal[None, 'serif', 'sans-serif'] = None,
|
||||||
table_renderer: TRenderer = 'simple', figure_scale: float = 1) -> str:
|
table_renderer: TRenderer = 'simple', figure_scale: float = 1) -> str:
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
import re
|
|
||||||
from re import Match
|
|
||||||
|
|
||||||
|
|
||||||
def update_svg_ids(input_svg: str, unique_id: str) -> str:
|
|
||||||
"""Add a unique ID part to all svg IDs and update references ti these IDs"""
|
|
||||||
id_mapping: dict[str, str] = {}
|
|
||||||
|
|
||||||
def update_ids(match: Match[str]) -> str:
|
|
||||||
old_id = match.group(1)
|
|
||||||
new_id = f"svg-{unique_id}-{old_id}"
|
|
||||||
id_mapping[old_id] = new_id
|
|
||||||
return f' id="{new_id}"'
|
|
||||||
|
|
||||||
def update_references(match: Match[str]) -> str:
|
|
||||||
old_ref = match.group(1)
|
|
||||||
new_ref = id_mapping.get(old_ref, old_ref)
|
|
||||||
if match.group(0).startswith('xlink:href'):
|
|
||||||
return f'xlink:href="#{new_ref}"'
|
|
||||||
else:
|
|
||||||
return f'url(#{new_ref})'
|
|
||||||
|
|
||||||
# Update IDs
|
|
||||||
svg_string = re.sub(r'\sid="(.*?)"', update_ids, input_svg)
|
|
||||||
|
|
||||||
# Update references to IDs
|
|
||||||
svg_string = re.sub(r'url\(#([^\)]+)\)', update_references, svg_string)
|
|
||||||
svg_string = re.sub(r'xlink:href="#([^\"]+)"', update_references, svg_string)
|
|
||||||
|
|
||||||
return svg_string
|
|
||||||
|
|
||||||
|
|
||||||
def clean_svg(svg_text: str) -> str:
|
|
||||||
# remove all tags not alllowd for inline svg from metadata:
|
|
||||||
svg_text = re.sub(r'<metadata>.*?</metadata>', '', svg_text, flags=re.DOTALL)
|
|
||||||
|
|
||||||
# remove illegal path-tags without d attribute:
|
|
||||||
return re.sub(r'<path(?![^>]*\sd=)\s.*?/>', '', svg_text, flags=re.DOTALL)
|
|
|
@ -2,7 +2,10 @@ from typing import Generator, Any
|
||||||
from lxml import etree
|
from lxml import etree
|
||||||
from lxml.etree import _Element as EElement # type: ignore
|
from lxml.etree import _Element as EElement # type: ignore
|
||||||
import requests
|
import requests
|
||||||
import pyladoc
|
|
||||||
|
|
||||||
|
with open('src/pyladoc/templates/test_template.html', mode='rt', encoding='utf-8') as f:
|
||||||
|
html_test_template = f.read()
|
||||||
|
|
||||||
|
|
||||||
def add_line_numbers(multiline_string: str) -> str:
|
def add_line_numbers(multiline_string: str) -> str:
|
||||||
|
@ -50,7 +53,7 @@ def validate_html(html_string: str, validate_online: bool = False, check_for: li
|
||||||
assert tag_type in tags, f"Tag {tag_type} not found in the html code"
|
assert tag_type in tags, f"Tag {tag_type} not found in the html code"
|
||||||
|
|
||||||
if validate_online:
|
if validate_online:
|
||||||
test_page = pyladoc.inject_to_template(html_string, internal_template='templates/test_template.html')
|
test_page = html_test_template.replace('<!--CONTENT-->', html_string)
|
||||||
validation_result = validate_html_with_w3c(test_page)
|
validation_result = validate_html_with_w3c(test_page)
|
||||||
assert 'messages' in validation_result, 'Validate request failed'
|
assert 'messages' in validation_result, 'Validate request failed'
|
||||||
if validation_result['messages']:
|
if validation_result['messages']:
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -196,15 +196,15 @@
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<hr>
|
<hr></hr>
|
||||||
<h1>Equations</h1>
|
<h1>Equations</h1>
|
||||||
<p>This line represents a reference to the equation <a href="#pyld-ref-eq:test1">1</a>.</p><div class="equation-container" id="pyld-ref-eq:test1"><div class="equation"><svg xmlns:xlink="http://www.w3.org/1999/xlink" width="102.120397pt" height="34.4322pt" viewBox="0 0 102.120397 34.4322" xmlns="http://www.w3.org/2000/svg" version="1.1">
|
<p>This line represents a reference to the equation <a href="#pyld-ref-eq:test1">1</a>.</p><div class="equation-container" id="pyld-ref-eq:test1"><div class="equation"><svg xmlns:xlink="http://www.w3.org/1999/xlink" width="102.120397pt" height="34.4322pt" viewBox="0 0 102.120397 34.4322" xmlns="http://www.w3.org/2000/svg" version="1.1">
|
||||||
|
|
||||||
<defs>
|
<defs>
|
||||||
<style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
|
<style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="svg-eq:test1-figure_1">
|
<g id="figure_1">
|
||||||
<g id="svg-eq:test1-patch_1">
|
<g id="patch_1">
|
||||||
<path d="M 0 34.4322
|
<path d="M 0 34.4322
|
||||||
L 102.120397 34.4322
|
L 102.120397 34.4322
|
||||||
L 102.120397 0
|
L 102.120397 0
|
||||||
|
@ -212,12 +212,12 @@ L 0 0
|
||||||
z
|
z
|
||||||
" style="fill: #ffffff"/>
|
" style="fill: #ffffff"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-eq:test1-axes_1">
|
<g id="axes_1">
|
||||||
<g id="svg-eq:test1-text_1">
|
<g id="text_1">
|
||||||
|
<!-- $y = a + b * \sum_{i=0}^{\infty} a_i x^i$ -->
|
||||||
<g transform="translate(10.436704 20.088261) scale(0.1 -0.1)">
|
<g transform="translate(10.436704 20.088261) scale(0.1 -0.1)">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-eq:test1-DejaVuSans-Oblique-79" d="M 1588 -325
|
<path id="DejaVuSans-Oblique-79" d="M 1588 -325
|
||||||
Q 1188 -997 936 -1164
|
Q 1188 -997 936 -1164
|
||||||
Q 684 -1331 294 -1331
|
Q 684 -1331 294 -1331
|
||||||
L -159 -1331
|
L -159 -1331
|
||||||
|
@ -234,7 +234,7 @@ L 3859 3500
|
||||||
L 1588 -325
|
L 1588 -325
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-eq:test1-DejaVuSans-3d" d="M 678 2906
|
<path id="DejaVuSans-3d" d="M 678 2906
|
||||||
L 4684 2906
|
L 4684 2906
|
||||||
L 4684 2381
|
L 4684 2381
|
||||||
L 678 2381
|
L 678 2381
|
||||||
|
@ -247,7 +247,7 @@ L 678 1100
|
||||||
L 678 1631
|
L 678 1631
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-eq:test1-DejaVuSans-Oblique-61" d="M 3438 1997
|
<path id="DejaVuSans-Oblique-61" d="M 3438 1997
|
||||||
L 3047 0
|
L 3047 0
|
||||||
L 2472 0
|
L 2472 0
|
||||||
L 2578 531
|
L 2578 531
|
||||||
|
@ -284,7 +284,7 @@ Q 2678 1069 2791 1631
|
||||||
L 2816 1759
|
L 2816 1759
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-eq:test1-DejaVuSans-2b" d="M 2944 4013
|
<path id="DejaVuSans-2b" d="M 2944 4013
|
||||||
L 2944 2272
|
L 2944 2272
|
||||||
L 4684 2272
|
L 4684 2272
|
||||||
L 4684 1741
|
L 4684 1741
|
||||||
|
@ -299,7 +299,7 @@ L 2419 4013
|
||||||
L 2944 4013
|
L 2944 4013
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-eq:test1-DejaVuSans-Oblique-62" d="M 3169 2138
|
<path id="DejaVuSans-Oblique-62" d="M 3169 2138
|
||||||
Q 3169 2591 2961 2847
|
Q 3169 2591 2961 2847
|
||||||
Q 2753 3103 2388 3103
|
Q 2753 3103 2388 3103
|
||||||
Q 2122 3103 1889 2973
|
Q 2122 3103 1889 2973
|
||||||
|
@ -331,7 +331,7 @@ L 1753 4863
|
||||||
L 1381 2969
|
L 1381 2969
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-eq:test1-DejaVuSans-2a" d="M 3009 3897
|
<path id="DejaVuSans-2a" d="M 3009 3897
|
||||||
L 1888 3291
|
L 1888 3291
|
||||||
L 3009 2681
|
L 3009 2681
|
||||||
L 2828 2375
|
L 2828 2375
|
||||||
|
@ -352,7 +352,7 @@ L 2828 4206
|
||||||
L 3009 3897
|
L 3009 3897
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-eq:test1-DejaVuSans-221e" d="M 2916 1091
|
<path id="DejaVuSans-221e" d="M 2916 1091
|
||||||
Q 2819 1203 2666 1466
|
Q 2819 1203 2666 1466
|
||||||
Q 2456 1091 2272 925
|
Q 2456 1091 2272 925
|
||||||
Q 2041 725 1681 725
|
Q 2041 725 1681 725
|
||||||
|
@ -389,7 +389,7 @@ Q 4328 2263 4156 2478
|
||||||
Q 3981 2697 3684 2697
|
Q 3981 2697 3684 2697
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-eq:test1-DejaVuSansDisplay-2211" d="M 244 6509
|
<path id="DejaVuSansDisplay-2211" d="M 244 6509
|
||||||
L 5803 6509
|
L 5803 6509
|
||||||
L 5803 5656
|
L 5803 5656
|
||||||
L 1566 5656
|
L 1566 5656
|
||||||
|
@ -404,7 +404,7 @@ L 244 5728
|
||||||
L 244 6509
|
L 244 6509
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-eq:test1-DejaVuSans-Oblique-69" d="M 1172 4863
|
<path id="DejaVuSans-Oblique-69" d="M 1172 4863
|
||||||
L 1747 4863
|
L 1747 4863
|
||||||
L 1606 4134
|
L 1606 4134
|
||||||
L 1031 4134
|
L 1031 4134
|
||||||
|
@ -417,7 +417,7 @@ L 225 0
|
||||||
L 909 3500
|
L 909 3500
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-eq:test1-DejaVuSans-30" d="M 2034 4250
|
<path id="DejaVuSans-30" d="M 2034 4250
|
||||||
Q 1547 4250 1301 3770
|
Q 1547 4250 1301 3770
|
||||||
Q 1056 3291 1056 2328
|
Q 1056 3291 1056 2328
|
||||||
Q 1056 1369 1301 889
|
Q 1056 1369 1301 889
|
||||||
|
@ -438,7 +438,7 @@ Q 422 3509 836 4129
|
||||||
Q 1250 4750 2034 4750
|
Q 1250 4750 2034 4750
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-eq:test1-DejaVuSans-Oblique-78" d="M 3841 3500
|
<path id="DejaVuSans-Oblique-78" d="M 3841 3500
|
||||||
L 2234 1784
|
L 2234 1784
|
||||||
L 3219 0
|
L 3219 0
|
||||||
L 2559 0
|
L 2559 0
|
||||||
|
@ -454,21 +454,21 @@ L 3841 3500
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
</defs>
|
</defs>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-Oblique-79" transform="translate(0 0.465625)"/>
|
<use xlink:href="#DejaVuSans-Oblique-79" transform="translate(0 0.465625)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-3d" transform="translate(78.662109 0.465625)"/>
|
<use xlink:href="#DejaVuSans-3d" transform="translate(78.662109 0.465625)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-Oblique-61" transform="translate(181.933594 0.465625)"/>
|
<use xlink:href="#DejaVuSans-Oblique-61" transform="translate(181.933594 0.465625)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-2b" transform="translate(262.695312 0.465625)"/>
|
<use xlink:href="#DejaVuSans-2b" transform="translate(262.695312 0.465625)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-Oblique-62" transform="translate(365.966797 0.465625)"/>
|
<use xlink:href="#DejaVuSans-Oblique-62" transform="translate(365.966797 0.465625)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-2a" transform="translate(448.925781 0.465625)"/>
|
<use xlink:href="#DejaVuSans-2a" transform="translate(448.925781 0.465625)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-221e" transform="translate(564.408203 120.91875) scale(0.7)"/>
|
<use xlink:href="#DejaVuSans-221e" transform="translate(564.408203 120.91875) scale(0.7)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSansDisplay-2211" transform="translate(548.408203 0.465625)"/>
|
<use xlink:href="#DejaVuSansDisplay-2211" transform="translate(548.408203 0.465625)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-Oblique-69" transform="translate(518.408203 -98.629687) scale(0.7)"/>
|
<use xlink:href="#DejaVuSans-Oblique-69" transform="translate(518.408203 -98.629687) scale(0.7)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-3d" transform="translate(551.494141 -98.629687) scale(0.7)"/>
|
<use xlink:href="#DejaVuSans-3d" transform="translate(551.494141 -98.629687) scale(0.7)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-30" transform="translate(623.78418 -98.629687) scale(0.7)"/>
|
<use xlink:href="#DejaVuSans-30" transform="translate(623.78418 -98.629687) scale(0.7)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-Oblique-61" transform="translate(668.320312 0.465625)"/>
|
<use xlink:href="#DejaVuSans-Oblique-61" transform="translate(668.320312 0.465625)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-Oblique-69" transform="translate(729.599609 -15.940625) scale(0.7)"/>
|
<use xlink:href="#DejaVuSans-Oblique-69" transform="translate(729.599609 -15.940625) scale(0.7)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-Oblique-78" transform="translate(751.782227 0.465625)"/>
|
<use xlink:href="#DejaVuSans-Oblique-78" transform="translate(751.782227 0.465625)"/>
|
||||||
<use xlink:href="#svg-eq:test1-DejaVuSans-Oblique-69" transform="translate(815.42806 38.746875) scale(0.7)"/>
|
<use xlink:href="#DejaVuSans-Oblique-69" transform="translate(815.42806 38.746875) scale(0.7)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
|
@ -479,8 +479,8 @@ z
|
||||||
<defs>
|
<defs>
|
||||||
<style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
|
<style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="svg-fig:auto1-figure_1">
|
<g id="figure_1">
|
||||||
<g id="svg-fig:auto1-patch_1">
|
<g id="patch_1">
|
||||||
<path d="M 0 345.6
|
<path d="M 0 345.6
|
||||||
L 460.8 345.6
|
L 460.8 345.6
|
||||||
L 460.8 0
|
L 460.8 0
|
||||||
|
@ -488,8 +488,8 @@ L 0 0
|
||||||
z
|
z
|
||||||
" style="fill: #ffffff"/>
|
" style="fill: #ffffff"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-axes_1">
|
<g id="axes_1">
|
||||||
<g id="svg-fig:auto1-patch_2">
|
<g id="patch_2">
|
||||||
<path d="M 57.6 307.584
|
<path d="M 57.6 307.584
|
||||||
L 414.72 307.584
|
L 414.72 307.584
|
||||||
L 414.72 41.472
|
L 414.72 41.472
|
||||||
|
@ -497,55 +497,55 @@ L 57.6 41.472
|
||||||
z
|
z
|
||||||
" style="fill: #ffffff"/>
|
" style="fill: #ffffff"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-patch_3">
|
<g id="patch_3">
|
||||||
<path d="M 73.832727 307.584
|
<path d="M 73.832727 307.584
|
||||||
L 142.181053 307.584
|
L 142.181053 307.584
|
||||||
L 142.181053 206.208
|
L 142.181053 206.208
|
||||||
L 73.832727 206.208
|
L 73.832727 206.208
|
||||||
z
|
z
|
||||||
" clip-path="url(#svg-fig:auto1-pc47365bf11)" style="fill: #d62728"/>
|
" clip-path="url(#p28ed524191)" style="fill: #d62728"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-patch_4">
|
<g id="patch_4">
|
||||||
<path d="M 159.268134 307.584
|
<path d="M 159.268134 307.584
|
||||||
L 227.616459 307.584
|
L 227.616459 307.584
|
||||||
L 227.616459 54.144
|
L 227.616459 54.144
|
||||||
L 159.268134 54.144
|
L 159.268134 54.144
|
||||||
z
|
z
|
||||||
" clip-path="url(#svg-fig:auto1-pc47365bf11)" style="fill: #1f77b4"/>
|
" clip-path="url(#p28ed524191)" style="fill: #1f77b4"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-patch_5">
|
<g id="patch_5">
|
||||||
<path d="M 244.703541 307.584
|
<path d="M 244.703541 307.584
|
||||||
L 313.051866 307.584
|
L 313.051866 307.584
|
||||||
L 313.051866 231.552
|
L 313.051866 231.552
|
||||||
L 244.703541 231.552
|
L 244.703541 231.552
|
||||||
z
|
z
|
||||||
" clip-path="url(#svg-fig:auto1-pc47365bf11)" style="fill: #d62728"/>
|
" clip-path="url(#p28ed524191)" style="fill: #d62728"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-patch_6">
|
<g id="patch_6">
|
||||||
<path d="M 330.138947 307.584
|
<path d="M 330.138947 307.584
|
||||||
L 398.487273 307.584
|
L 398.487273 307.584
|
||||||
L 398.487273 168.192
|
L 398.487273 168.192
|
||||||
L 330.138947 168.192
|
L 330.138947 168.192
|
||||||
z
|
z
|
||||||
" clip-path="url(#svg-fig:auto1-pc47365bf11)" style="fill: #ff7f0e"/>
|
" clip-path="url(#p28ed524191)" style="fill: #ff7f0e"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-matplotlib.axis_1">
|
<g id="matplotlib.axis_1">
|
||||||
<g id="svg-fig:auto1-xtick_1">
|
<g id="xtick_1">
|
||||||
<g id="svg-fig:auto1-line2d_1">
|
<g id="line2d_1">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-me6b9a60687" d="M 0 0
|
<path id="m4b433885f0" d="M 0 0
|
||||||
L 0 3.5
|
L 0 3.5
|
||||||
" style="stroke: #000000; stroke-width: 0.8"/>
|
" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</defs>
|
</defs>
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#svg-fig:auto1-me6b9a60687" x="108.00689" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#m4b433885f0" x="108.00689" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_1">
|
<g id="text_1">
|
||||||
|
<!-- apple -->
|
||||||
<g transform="translate(94.128765 322.182437) scale(0.1 -0.1)">
|
<g transform="translate(94.128765 322.182437) scale(0.1 -0.1)">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-61" d="M 2194 1759
|
<path id="DejaVuSans-61" d="M 2194 1759
|
||||||
Q 1497 1759 1228 1600
|
Q 1497 1759 1228 1600
|
||||||
Q 959 1441 959 1056
|
Q 959 1441 959 1056
|
||||||
Q 959 750 1161 570
|
Q 959 750 1161 570
|
||||||
|
@ -578,7 +578,7 @@ Q 2591 3584 2966 3190
|
||||||
Q 3341 2797 3341 1997
|
Q 3341 2797 3341 1997
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-70" d="M 1159 525
|
<path id="DejaVuSans-70" d="M 1159 525
|
||||||
L 1159 -1331
|
L 1159 -1331
|
||||||
L 581 -1331
|
L 581 -1331
|
||||||
L 581 3500
|
L 581 3500
|
||||||
|
@ -604,14 +604,14 @@ Q 2594 391 2855 752
|
||||||
Q 3116 1113 3116 1747
|
Q 3116 1113 3116 1747
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-6c" d="M 603 4863
|
<path id="DejaVuSans-6c" d="M 603 4863
|
||||||
L 1178 4863
|
L 1178 4863
|
||||||
L 1178 0
|
L 1178 0
|
||||||
L 603 0
|
L 603 0
|
||||||
L 603 4863
|
L 603 4863
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-65" d="M 3597 1894
|
<path id="DejaVuSans-65" d="M 3597 1894
|
||||||
L 3597 1613
|
L 3597 1613
|
||||||
L 953 1613
|
L 953 1613
|
||||||
Q 991 1019 1311 708
|
Q 991 1019 1311 708
|
||||||
|
@ -637,25 +637,25 @@ L 3022 2063
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
</defs>
|
</defs>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-61"/>
|
<use xlink:href="#DejaVuSans-61"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-70" transform="translate(61.279297 0)"/>
|
<use xlink:href="#DejaVuSans-70" transform="translate(61.279297 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-70" transform="translate(124.755859 0)"/>
|
<use xlink:href="#DejaVuSans-70" transform="translate(124.755859 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6c" transform="translate(188.232422 0)"/>
|
<use xlink:href="#DejaVuSans-6c" transform="translate(188.232422 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-65" transform="translate(216.015625 0)"/>
|
<use xlink:href="#DejaVuSans-65" transform="translate(216.015625 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-xtick_2">
|
<g id="xtick_2">
|
||||||
<g id="svg-fig:auto1-line2d_2">
|
<g id="line2d_2">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#svg-fig:auto1-me6b9a60687" x="193.442297" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#m4b433885f0" x="193.442297" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_2">
|
<g id="text_2">
|
||||||
|
<!-- blueberry -->
|
||||||
<g transform="translate(169.400109 322.182437) scale(0.1 -0.1)">
|
<g transform="translate(169.400109 322.182437) scale(0.1 -0.1)">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-62" d="M 3116 1747
|
<path id="DejaVuSans-62" d="M 3116 1747
|
||||||
Q 3116 2381 2855 2742
|
Q 3116 2381 2855 2742
|
||||||
Q 2594 3103 2138 3103
|
Q 2594 3103 2138 3103
|
||||||
Q 1681 3103 1420 2742
|
Q 1681 3103 1420 2742
|
||||||
|
@ -681,7 +681,7 @@ L 1159 4863
|
||||||
L 1159 2969
|
L 1159 2969
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-75" d="M 544 1381
|
<path id="DejaVuSans-75" d="M 544 1381
|
||||||
L 544 3500
|
L 544 3500
|
||||||
L 1119 3500
|
L 1119 3500
|
||||||
L 1119 1403
|
L 1119 1403
|
||||||
|
@ -703,7 +703,7 @@ M 1991 3584
|
||||||
L 1991 3584
|
L 1991 3584
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-72" d="M 2631 2963
|
<path id="DejaVuSans-72" d="M 2631 2963
|
||||||
Q 2534 3019 2420 3045
|
Q 2534 3019 2420 3045
|
||||||
Q 2306 3072 2169 3072
|
Q 2306 3072 2169 3072
|
||||||
Q 1681 3072 1420 2755
|
Q 1681 3072 1420 2755
|
||||||
|
@ -720,7 +720,7 @@ Q 2541 3569 2628 3553
|
||||||
L 2631 2963
|
L 2631 2963
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-79" d="M 2059 -325
|
<path id="DejaVuSans-79" d="M 2059 -325
|
||||||
Q 1816 -950 1584 -1140
|
Q 1816 -950 1584 -1140
|
||||||
Q 1353 -1331 966 -1331
|
Q 1353 -1331 966 -1331
|
||||||
L 506 -1331
|
L 506 -1331
|
||||||
|
@ -738,29 +738,29 @@ L 2059 -325
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
</defs>
|
</defs>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-62"/>
|
<use xlink:href="#DejaVuSans-62"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6c" transform="translate(63.476562 0)"/>
|
<use xlink:href="#DejaVuSans-6c" transform="translate(63.476562 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-75" transform="translate(91.259766 0)"/>
|
<use xlink:href="#DejaVuSans-75" transform="translate(91.259766 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-65" transform="translate(154.638672 0)"/>
|
<use xlink:href="#DejaVuSans-65" transform="translate(154.638672 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-62" transform="translate(216.162109 0)"/>
|
<use xlink:href="#DejaVuSans-62" transform="translate(216.162109 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-65" transform="translate(279.638672 0)"/>
|
<use xlink:href="#DejaVuSans-65" transform="translate(279.638672 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-72" transform="translate(341.162109 0)"/>
|
<use xlink:href="#DejaVuSans-72" transform="translate(341.162109 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-72" transform="translate(380.525391 0)"/>
|
<use xlink:href="#DejaVuSans-72" transform="translate(380.525391 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-79" transform="translate(421.638672 0)"/>
|
<use xlink:href="#DejaVuSans-79" transform="translate(421.638672 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-xtick_3">
|
<g id="xtick_3">
|
||||||
<g id="svg-fig:auto1-line2d_3">
|
<g id="line2d_3">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#svg-fig:auto1-me6b9a60687" x="278.877703" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#m4b433885f0" x="278.877703" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_3">
|
<g id="text_3">
|
||||||
|
<!-- cherry -->
|
||||||
<g transform="translate(262.90036 322.182437) scale(0.1 -0.1)">
|
<g transform="translate(262.90036 322.182437) scale(0.1 -0.1)">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-63" d="M 3122 3366
|
<path id="DejaVuSans-63" d="M 3122 3366
|
||||||
L 3122 2828
|
L 3122 2828
|
||||||
Q 2878 2963 2633 3030
|
Q 2878 2963 2633 3030
|
||||||
Q 2388 3097 2138 3097
|
Q 2388 3097 2138 3097
|
||||||
|
@ -781,7 +781,7 @@ Q 2378 3584 2631 3529
|
||||||
Q 2884 3475 3122 3366
|
Q 2884 3475 3122 3366
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-68" d="M 3513 2113
|
<path id="DejaVuSans-68" d="M 3513 2113
|
||||||
L 3513 0
|
L 3513 0
|
||||||
L 2938 0
|
L 2938 0
|
||||||
L 2938 2094
|
L 2938 2094
|
||||||
|
@ -801,26 +801,26 @@ Q 3513 2838 3513 2113
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
</defs>
|
</defs>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-63"/>
|
<use xlink:href="#DejaVuSans-63"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-68" transform="translate(54.980469 0)"/>
|
<use xlink:href="#DejaVuSans-68" transform="translate(54.980469 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-65" transform="translate(118.359375 0)"/>
|
<use xlink:href="#DejaVuSans-65" transform="translate(118.359375 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-72" transform="translate(179.882812 0)"/>
|
<use xlink:href="#DejaVuSans-72" transform="translate(179.882812 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-72" transform="translate(219.246094 0)"/>
|
<use xlink:href="#DejaVuSans-72" transform="translate(219.246094 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-79" transform="translate(260.359375 0)"/>
|
<use xlink:href="#DejaVuSans-79" transform="translate(260.359375 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-xtick_4">
|
<g id="xtick_4">
|
||||||
<g id="svg-fig:auto1-line2d_4">
|
<g id="line2d_4">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#svg-fig:auto1-me6b9a60687" x="364.31311" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#m4b433885f0" x="364.31311" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_4">
|
<g id="text_4">
|
||||||
|
<!-- orange -->
|
||||||
<g transform="translate(346.714673 322.182437) scale(0.1 -0.1)">
|
<g transform="translate(346.714673 322.182437) scale(0.1 -0.1)">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-6f" d="M 1959 3097
|
<path id="DejaVuSans-6f" d="M 1959 3097
|
||||||
Q 1497 3097 1228 2736
|
Q 1497 3097 1228 2736
|
||||||
Q 959 2375 959 1747
|
Q 959 2375 959 1747
|
||||||
Q 959 1119 1226 758
|
Q 959 1119 1226 758
|
||||||
|
@ -841,7 +841,7 @@ Q 353 2609 779 3096
|
||||||
Q 1206 3584 1959 3584
|
Q 1206 3584 1959 3584
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-6e" d="M 3513 2113
|
<path id="DejaVuSans-6e" d="M 3513 2113
|
||||||
L 3513 0
|
L 3513 0
|
||||||
L 2938 0
|
L 2938 0
|
||||||
L 2938 2094
|
L 2938 2094
|
||||||
|
@ -860,7 +860,7 @@ Q 2894 3584 3203 3211
|
||||||
Q 3513 2838 3513 2113
|
Q 3513 2838 3513 2113
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-67" d="M 2906 1791
|
<path id="DejaVuSans-67" d="M 2906 1791
|
||||||
Q 2906 2416 2648 2759
|
Q 2906 2416 2648 2759
|
||||||
Q 2391 3103 1925 3103
|
Q 2391 3103 1925 3103
|
||||||
Q 1463 3103 1205 2759
|
Q 1463 3103 1205 2759
|
||||||
|
@ -895,33 +895,33 @@ L 3481 434
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
</defs>
|
</defs>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6f"/>
|
<use xlink:href="#DejaVuSans-6f"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-72" transform="translate(61.181641 0)"/>
|
<use xlink:href="#DejaVuSans-72" transform="translate(61.181641 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-61" transform="translate(102.294922 0)"/>
|
<use xlink:href="#DejaVuSans-61" transform="translate(102.294922 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6e" transform="translate(163.574219 0)"/>
|
<use xlink:href="#DejaVuSans-6e" transform="translate(163.574219 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-67" transform="translate(226.953125 0)"/>
|
<use xlink:href="#DejaVuSans-67" transform="translate(226.953125 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-65" transform="translate(290.429688 0)"/>
|
<use xlink:href="#DejaVuSans-65" transform="translate(290.429688 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-matplotlib.axis_2">
|
<g id="matplotlib.axis_2">
|
||||||
<g id="svg-fig:auto1-ytick_1">
|
<g id="ytick_1">
|
||||||
<g id="svg-fig:auto1-line2d_5">
|
<g id="line2d_5">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-m7e28b8cc70" d="M 0 0
|
<path id="m9bfc9845c8" d="M 0 0
|
||||||
L -3.5 0
|
L -3.5 0
|
||||||
" style="stroke: #000000; stroke-width: 0.8"/>
|
" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</defs>
|
</defs>
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#svg-fig:auto1-m7e28b8cc70" x="57.6" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#m9bfc9845c8" x="57.6" y="307.584" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_5">
|
<g id="text_5">
|
||||||
|
<!-- 0 -->
|
||||||
<g transform="translate(44.2375 311.383219) scale(0.1 -0.1)">
|
<g transform="translate(44.2375 311.383219) scale(0.1 -0.1)">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-30" d="M 2034 4250
|
<path id="DejaVuSans-30" d="M 2034 4250
|
||||||
Q 1547 4250 1301 3770
|
Q 1547 4250 1301 3770
|
||||||
Q 1056 3291 1056 2328
|
Q 1056 3291 1056 2328
|
||||||
Q 1056 1369 1301 889
|
Q 1056 1369 1301 889
|
||||||
|
@ -943,21 +943,21 @@ Q 1250 4750 2034 4750
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
</defs>
|
</defs>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-30"/>
|
<use xlink:href="#DejaVuSans-30"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-ytick_2">
|
<g id="ytick_2">
|
||||||
<g id="svg-fig:auto1-line2d_6">
|
<g id="line2d_6">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#svg-fig:auto1-m7e28b8cc70" x="57.6" y="256.896" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#m9bfc9845c8" x="57.6" y="256.896" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_6">
|
<g id="text_6">
|
||||||
|
<!-- 20 -->
|
||||||
<g transform="translate(37.875 260.695219) scale(0.1 -0.1)">
|
<g transform="translate(37.875 260.695219) scale(0.1 -0.1)">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-32" d="M 1228 531
|
<path id="DejaVuSans-32" d="M 1228 531
|
||||||
L 3431 531
|
L 3431 531
|
||||||
L 3431 0
|
L 3431 0
|
||||||
L 469 0
|
L 469 0
|
||||||
|
@ -982,22 +982,22 @@ Q 1991 1309 1228 531
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
</defs>
|
</defs>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-32"/>
|
<use xlink:href="#DejaVuSans-32"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-30" transform="translate(63.623047 0)"/>
|
<use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-ytick_3">
|
<g id="ytick_3">
|
||||||
<g id="svg-fig:auto1-line2d_7">
|
<g id="line2d_7">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#svg-fig:auto1-m7e28b8cc70" x="57.6" y="206.208" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#m9bfc9845c8" x="57.6" y="206.208" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_7">
|
<g id="text_7">
|
||||||
|
<!-- 40 -->
|
||||||
<g transform="translate(37.875 210.007219) scale(0.1 -0.1)">
|
<g transform="translate(37.875 210.007219) scale(0.1 -0.1)">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-34" d="M 2419 4116
|
<path id="DejaVuSans-34" d="M 2419 4116
|
||||||
L 825 1625
|
L 825 1625
|
||||||
L 2419 1625
|
L 2419 1625
|
||||||
L 2419 4116
|
L 2419 4116
|
||||||
|
@ -1017,22 +1017,22 @@ L 2253 4666
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
</defs>
|
</defs>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-34"/>
|
<use xlink:href="#DejaVuSans-34"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-30" transform="translate(63.623047 0)"/>
|
<use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-ytick_4">
|
<g id="ytick_4">
|
||||||
<g id="svg-fig:auto1-line2d_8">
|
<g id="line2d_8">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#svg-fig:auto1-m7e28b8cc70" x="57.6" y="155.52" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#m9bfc9845c8" x="57.6" y="155.52" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_8">
|
<g id="text_8">
|
||||||
|
<!-- 60 -->
|
||||||
<g transform="translate(37.875 159.319219) scale(0.1 -0.1)">
|
<g transform="translate(37.875 159.319219) scale(0.1 -0.1)">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-36" d="M 2113 2584
|
<path id="DejaVuSans-36" d="M 2113 2584
|
||||||
Q 1688 2584 1439 2293
|
Q 1688 2584 1439 2293
|
||||||
Q 1191 2003 1191 1497
|
Q 1191 2003 1191 1497
|
||||||
Q 1191 994 1439 701
|
Q 1191 994 1439 701
|
||||||
|
@ -1063,22 +1063,22 @@ Q 3103 4656 3366 4563
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
</defs>
|
</defs>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-36"/>
|
<use xlink:href="#DejaVuSans-36"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-30" transform="translate(63.623047 0)"/>
|
<use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-ytick_5">
|
<g id="ytick_5">
|
||||||
<g id="svg-fig:auto1-line2d_9">
|
<g id="line2d_9">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#svg-fig:auto1-m7e28b8cc70" x="57.6" y="104.832" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#m9bfc9845c8" x="57.6" y="104.832" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_9">
|
<g id="text_9">
|
||||||
|
<!-- 80 -->
|
||||||
<g transform="translate(37.875 108.631219) scale(0.1 -0.1)">
|
<g transform="translate(37.875 108.631219) scale(0.1 -0.1)">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-38" d="M 2034 2216
|
<path id="DejaVuSans-38" d="M 2034 2216
|
||||||
Q 1584 2216 1326 1975
|
Q 1584 2216 1326 1975
|
||||||
Q 1069 1734 1069 1313
|
Q 1069 1734 1069 1313
|
||||||
Q 1069 891 1326 650
|
Q 1069 891 1326 650
|
||||||
|
@ -1118,22 +1118,22 @@ Q 1172 3844 1172 3481
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
</defs>
|
</defs>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-38"/>
|
<use xlink:href="#DejaVuSans-38"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-30" transform="translate(63.623047 0)"/>
|
<use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-ytick_6">
|
<g id="ytick_6">
|
||||||
<g id="svg-fig:auto1-line2d_10">
|
<g id="line2d_10">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#svg-fig:auto1-m7e28b8cc70" x="57.6" y="54.144" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#m9bfc9845c8" x="57.6" y="54.144" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_10">
|
<g id="text_10">
|
||||||
|
<!-- 100 -->
|
||||||
<g transform="translate(31.5125 57.943219) scale(0.1 -0.1)">
|
<g transform="translate(31.5125 57.943219) scale(0.1 -0.1)">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-31" d="M 794 531
|
<path id="DejaVuSans-31" d="M 794 531
|
||||||
L 1825 531
|
L 1825 531
|
||||||
L 1825 4091
|
L 1825 4091
|
||||||
L 703 3866
|
L 703 3866
|
||||||
|
@ -1148,17 +1148,17 @@ L 794 531
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
</defs>
|
</defs>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-31"/>
|
<use xlink:href="#DejaVuSans-31"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-30" transform="translate(63.623047 0)"/>
|
<use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-30" transform="translate(127.246094 0)"/>
|
<use xlink:href="#DejaVuSans-30" transform="translate(127.246094 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_11">
|
<g id="text_11">
|
||||||
|
<!-- fruit supply -->
|
||||||
<g transform="translate(25.432812 202.920969) rotate(-90) scale(0.1 -0.1)">
|
<g transform="translate(25.432812 202.920969) rotate(-90) scale(0.1 -0.1)">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-66" d="M 2375 4863
|
<path id="DejaVuSans-66" d="M 2375 4863
|
||||||
L 2375 4384
|
L 2375 4384
|
||||||
L 1825 4384
|
L 1825 4384
|
||||||
Q 1516 4384 1395 4259
|
Q 1516 4384 1395 4259
|
||||||
|
@ -1179,7 +1179,7 @@ Q 1241 4863 1831 4863
|
||||||
L 2375 4863
|
L 2375 4863
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-69" d="M 603 3500
|
<path id="DejaVuSans-69" d="M 603 3500
|
||||||
L 1178 3500
|
L 1178 3500
|
||||||
L 1178 0
|
L 1178 0
|
||||||
L 603 0
|
L 603 0
|
||||||
|
@ -1192,7 +1192,7 @@ L 603 4134
|
||||||
L 603 4863
|
L 603 4863
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-74" d="M 1172 4494
|
<path id="DejaVuSans-74" d="M 1172 4494
|
||||||
L 1172 3500
|
L 1172 3500
|
||||||
L 2356 3500
|
L 2356 3500
|
||||||
L 2356 3053
|
L 2356 3053
|
||||||
|
@ -1214,7 +1214,7 @@ L 1172 4494
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
|
|
||||||
<path id="svg-fig:auto1-DejaVuSans-73" d="M 2834 3397
|
<path id="DejaVuSans-73" d="M 2834 3397
|
||||||
L 2834 2853
|
L 2834 2853
|
||||||
Q 2591 2978 2328 3040
|
Q 2591 2978 2328 3040
|
||||||
Q 2066 3103 1784 3103
|
Q 2066 3103 1784 3103
|
||||||
|
@ -1246,46 +1246,46 @@ Q 2597 3491 2834 3397
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
</defs>
|
</defs>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-66"/>
|
<use xlink:href="#DejaVuSans-66"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-72" transform="translate(35.205078 0)"/>
|
<use xlink:href="#DejaVuSans-72" transform="translate(35.205078 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-75" transform="translate(76.318359 0)"/>
|
<use xlink:href="#DejaVuSans-75" transform="translate(76.318359 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-69" transform="translate(139.697266 0)"/>
|
<use xlink:href="#DejaVuSans-69" transform="translate(139.697266 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-74" transform="translate(167.480469 0)"/>
|
<use xlink:href="#DejaVuSans-74" transform="translate(167.480469 0)"/>
|
||||||
<use xlink:href="#DejaVuSans-20" transform="translate(206.689453 0)"/>
|
<use xlink:href="#DejaVuSans-20" transform="translate(206.689453 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-73" transform="translate(238.476562 0)"/>
|
<use xlink:href="#DejaVuSans-73" transform="translate(238.476562 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-75" transform="translate(290.576172 0)"/>
|
<use xlink:href="#DejaVuSans-75" transform="translate(290.576172 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-70" transform="translate(353.955078 0)"/>
|
<use xlink:href="#DejaVuSans-70" transform="translate(353.955078 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-70" transform="translate(417.431641 0)"/>
|
<use xlink:href="#DejaVuSans-70" transform="translate(417.431641 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6c" transform="translate(480.908203 0)"/>
|
<use xlink:href="#DejaVuSans-6c" transform="translate(480.908203 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-79" transform="translate(508.691406 0)"/>
|
<use xlink:href="#DejaVuSans-79" transform="translate(508.691406 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-patch_7">
|
<g id="patch_7">
|
||||||
<path d="M 57.6 307.584
|
<path d="M 57.6 307.584
|
||||||
L 57.6 41.472
|
L 57.6 41.472
|
||||||
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
|
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-patch_8">
|
<g id="patch_8">
|
||||||
<path d="M 414.72 307.584
|
<path d="M 414.72 307.584
|
||||||
L 414.72 41.472
|
L 414.72 41.472
|
||||||
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
|
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-patch_9">
|
<g id="patch_9">
|
||||||
<path d="M 57.6 307.584
|
<path d="M 57.6 307.584
|
||||||
L 414.72 307.584
|
L 414.72 307.584
|
||||||
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
|
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-patch_10">
|
<g id="patch_10">
|
||||||
<path d="M 57.6 41.472
|
<path d="M 57.6 41.472
|
||||||
L 414.72 41.472
|
L 414.72 41.472
|
||||||
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
|
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_12">
|
<g id="text_12">
|
||||||
|
<!-- Fruit supply by kind and color -->
|
||||||
<g transform="translate(147.380625 35.472) scale(0.12 -0.12)">
|
<g transform="translate(147.380625 35.472) scale(0.12 -0.12)">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-46" d="M 628 4666
|
<path id="DejaVuSans-46" d="M 628 4666
|
||||||
L 3309 4666
|
L 3309 4666
|
||||||
L 3309 4134
|
L 3309 4134
|
||||||
L 1259 4134
|
L 1259 4134
|
||||||
|
@ -1298,7 +1298,7 @@ L 628 0
|
||||||
L 628 4666
|
L 628 4666
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-6b" d="M 581 4863
|
<path id="DejaVuSans-6b" d="M 581 4863
|
||||||
L 1159 4863
|
L 1159 4863
|
||||||
L 1159 1991
|
L 1159 1991
|
||||||
L 2875 3500
|
L 2875 3500
|
||||||
|
@ -1312,7 +1312,7 @@ L 581 0
|
||||||
L 581 4863
|
L 581 4863
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
<path id="svg-fig:auto1-DejaVuSans-64" d="M 2906 2969
|
<path id="DejaVuSans-64" d="M 2906 2969
|
||||||
L 2906 4863
|
L 2906 4863
|
||||||
L 3481 4863
|
L 3481 4863
|
||||||
L 3481 0
|
L 3481 0
|
||||||
|
@ -1339,40 +1339,40 @@ Q 947 2381 947 1747
|
||||||
z
|
z
|
||||||
" transform="scale(0.015625)"/>
|
" transform="scale(0.015625)"/>
|
||||||
</defs>
|
</defs>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-46"/>
|
<use xlink:href="#DejaVuSans-46"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-72" transform="translate(50.269531 0)"/>
|
<use xlink:href="#DejaVuSans-72" transform="translate(50.269531 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-75" transform="translate(91.382812 0)"/>
|
<use xlink:href="#DejaVuSans-75" transform="translate(91.382812 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-69" transform="translate(154.761719 0)"/>
|
<use xlink:href="#DejaVuSans-69" transform="translate(154.761719 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-74" transform="translate(182.544922 0)"/>
|
<use xlink:href="#DejaVuSans-74" transform="translate(182.544922 0)"/>
|
||||||
<use xlink:href="#DejaVuSans-20" transform="translate(221.753906 0)"/>
|
<use xlink:href="#DejaVuSans-20" transform="translate(221.753906 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-73" transform="translate(253.541016 0)"/>
|
<use xlink:href="#DejaVuSans-73" transform="translate(253.541016 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-75" transform="translate(305.640625 0)"/>
|
<use xlink:href="#DejaVuSans-75" transform="translate(305.640625 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-70" transform="translate(369.019531 0)"/>
|
<use xlink:href="#DejaVuSans-70" transform="translate(369.019531 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-70" transform="translate(432.496094 0)"/>
|
<use xlink:href="#DejaVuSans-70" transform="translate(432.496094 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6c" transform="translate(495.972656 0)"/>
|
<use xlink:href="#DejaVuSans-6c" transform="translate(495.972656 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-79" transform="translate(523.755859 0)"/>
|
<use xlink:href="#DejaVuSans-79" transform="translate(523.755859 0)"/>
|
||||||
<use xlink:href="#DejaVuSans-20" transform="translate(582.935547 0)"/>
|
<use xlink:href="#DejaVuSans-20" transform="translate(582.935547 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-62" transform="translate(614.722656 0)"/>
|
<use xlink:href="#DejaVuSans-62" transform="translate(614.722656 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-79" transform="translate(678.199219 0)"/>
|
<use xlink:href="#DejaVuSans-79" transform="translate(678.199219 0)"/>
|
||||||
<use xlink:href="#DejaVuSans-20" transform="translate(737.378906 0)"/>
|
<use xlink:href="#DejaVuSans-20" transform="translate(737.378906 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6b" transform="translate(769.166016 0)"/>
|
<use xlink:href="#DejaVuSans-6b" transform="translate(769.166016 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-69" transform="translate(827.076172 0)"/>
|
<use xlink:href="#DejaVuSans-69" transform="translate(827.076172 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6e" transform="translate(854.859375 0)"/>
|
<use xlink:href="#DejaVuSans-6e" transform="translate(854.859375 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-64" transform="translate(918.238281 0)"/>
|
<use xlink:href="#DejaVuSans-64" transform="translate(918.238281 0)"/>
|
||||||
<use xlink:href="#DejaVuSans-20" transform="translate(981.714844 0)"/>
|
<use xlink:href="#DejaVuSans-20" transform="translate(981.714844 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-61" transform="translate(1013.501953 0)"/>
|
<use xlink:href="#DejaVuSans-61" transform="translate(1013.501953 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6e" transform="translate(1074.78125 0)"/>
|
<use xlink:href="#DejaVuSans-6e" transform="translate(1074.78125 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-64" transform="translate(1138.160156 0)"/>
|
<use xlink:href="#DejaVuSans-64" transform="translate(1138.160156 0)"/>
|
||||||
<use xlink:href="#DejaVuSans-20" transform="translate(1201.636719 0)"/>
|
<use xlink:href="#DejaVuSans-20" transform="translate(1201.636719 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-63" transform="translate(1233.423828 0)"/>
|
<use xlink:href="#DejaVuSans-63" transform="translate(1233.423828 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6f" transform="translate(1288.404297 0)"/>
|
<use xlink:href="#DejaVuSans-6f" transform="translate(1288.404297 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6c" transform="translate(1349.585938 0)"/>
|
<use xlink:href="#DejaVuSans-6c" transform="translate(1349.585938 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6f" transform="translate(1377.369141 0)"/>
|
<use xlink:href="#DejaVuSans-6f" transform="translate(1377.369141 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-72" transform="translate(1438.550781 0)"/>
|
<use xlink:href="#DejaVuSans-72" transform="translate(1438.550781 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-legend_1">
|
<g id="legend_1">
|
||||||
<g id="svg-fig:auto1-patch_11">
|
<g id="patch_11">
|
||||||
<path d="M 340.523125 108.1845
|
<path d="M 340.523125 108.1845
|
||||||
L 407.72 108.1845
|
L 407.72 108.1845
|
||||||
Q 409.72 108.1845 409.72 106.1845
|
Q 409.72 108.1845 409.72 106.1845
|
||||||
|
@ -1385,23 +1385,23 @@ Q 338.523125 108.1845 340.523125 108.1845
|
||||||
z
|
z
|
||||||
" style="fill: #ffffff; opacity: 0.8; stroke: #cccccc; stroke-linejoin: miter"/>
|
" style="fill: #ffffff; opacity: 0.8; stroke: #cccccc; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_13">
|
<g id="text_13">
|
||||||
|
<!-- Fruit color -->
|
||||||
<g transform="translate(349.133281 58.070438) scale(0.1 -0.1)">
|
<g transform="translate(349.133281 58.070438) scale(0.1 -0.1)">
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-46"/>
|
<use xlink:href="#DejaVuSans-46"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-72" transform="translate(50.269531 0)"/>
|
<use xlink:href="#DejaVuSans-72" transform="translate(50.269531 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-75" transform="translate(91.382812 0)"/>
|
<use xlink:href="#DejaVuSans-75" transform="translate(91.382812 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-69" transform="translate(154.761719 0)"/>
|
<use xlink:href="#DejaVuSans-69" transform="translate(154.761719 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-74" transform="translate(182.544922 0)"/>
|
<use xlink:href="#DejaVuSans-74" transform="translate(182.544922 0)"/>
|
||||||
<use xlink:href="#DejaVuSans-20" transform="translate(221.753906 0)"/>
|
<use xlink:href="#DejaVuSans-20" transform="translate(221.753906 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-63" transform="translate(253.541016 0)"/>
|
<use xlink:href="#DejaVuSans-63" transform="translate(253.541016 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6f" transform="translate(308.521484 0)"/>
|
<use xlink:href="#DejaVuSans-6f" transform="translate(308.521484 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6c" transform="translate(369.703125 0)"/>
|
<use xlink:href="#DejaVuSans-6c" transform="translate(369.703125 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6f" transform="translate(397.486328 0)"/>
|
<use xlink:href="#DejaVuSans-6f" transform="translate(397.486328 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-72" transform="translate(458.667969 0)"/>
|
<use xlink:href="#DejaVuSans-72" transform="translate(458.667969 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-patch_12">
|
<g id="patch_12">
|
||||||
<path d="M 342.523125 72.748563
|
<path d="M 342.523125 72.748563
|
||||||
L 362.523125 72.748563
|
L 362.523125 72.748563
|
||||||
L 362.523125 65.748563
|
L 362.523125 65.748563
|
||||||
|
@ -1409,15 +1409,15 @@ L 342.523125 65.748563
|
||||||
z
|
z
|
||||||
" style="fill: #d62728"/>
|
" style="fill: #d62728"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_14">
|
<g id="text_14">
|
||||||
|
<!-- red -->
|
||||||
<g transform="translate(370.523125 72.748563) scale(0.1 -0.1)">
|
<g transform="translate(370.523125 72.748563) scale(0.1 -0.1)">
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-72"/>
|
<use xlink:href="#DejaVuSans-72"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-65" transform="translate(38.863281 0)"/>
|
<use xlink:href="#DejaVuSans-65" transform="translate(38.863281 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-64" transform="translate(100.386719 0)"/>
|
<use xlink:href="#DejaVuSans-64" transform="translate(100.386719 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-patch_13">
|
<g id="patch_13">
|
||||||
<path d="M 342.523125 87.426688
|
<path d="M 342.523125 87.426688
|
||||||
L 362.523125 87.426688
|
L 362.523125 87.426688
|
||||||
L 362.523125 80.426688
|
L 362.523125 80.426688
|
||||||
|
@ -1425,16 +1425,16 @@ L 342.523125 80.426688
|
||||||
z
|
z
|
||||||
" style="fill: #1f77b4"/>
|
" style="fill: #1f77b4"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_15">
|
<g id="text_15">
|
||||||
|
<!-- blue -->
|
||||||
<g transform="translate(370.523125 87.426688) scale(0.1 -0.1)">
|
<g transform="translate(370.523125 87.426688) scale(0.1 -0.1)">
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-62"/>
|
<use xlink:href="#DejaVuSans-62"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6c" transform="translate(63.476562 0)"/>
|
<use xlink:href="#DejaVuSans-6c" transform="translate(63.476562 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-75" transform="translate(91.259766 0)"/>
|
<use xlink:href="#DejaVuSans-75" transform="translate(91.259766 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-65" transform="translate(154.638672 0)"/>
|
<use xlink:href="#DejaVuSans-65" transform="translate(154.638672 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-patch_14">
|
<g id="patch_14">
|
||||||
<path d="M 342.523125 102.104813
|
<path d="M 342.523125 102.104813
|
||||||
L 362.523125 102.104813
|
L 362.523125 102.104813
|
||||||
L 362.523125 95.104813
|
L 362.523125 95.104813
|
||||||
|
@ -1442,24 +1442,24 @@ L 342.523125 95.104813
|
||||||
z
|
z
|
||||||
" style="fill: #ff7f0e"/>
|
" style="fill: #ff7f0e"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="svg-fig:auto1-text_16">
|
<g id="text_16">
|
||||||
|
<!-- orange -->
|
||||||
<g transform="translate(370.523125 102.104813) scale(0.1 -0.1)">
|
<g transform="translate(370.523125 102.104813) scale(0.1 -0.1)">
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6f"/>
|
<use xlink:href="#DejaVuSans-6f"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-72" transform="translate(61.181641 0)"/>
|
<use xlink:href="#DejaVuSans-72" transform="translate(61.181641 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-61" transform="translate(102.294922 0)"/>
|
<use xlink:href="#DejaVuSans-61" transform="translate(102.294922 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-6e" transform="translate(163.574219 0)"/>
|
<use xlink:href="#DejaVuSans-6e" transform="translate(163.574219 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-67" transform="translate(226.953125 0)"/>
|
<use xlink:href="#DejaVuSans-67" transform="translate(226.953125 0)"/>
|
||||||
<use xlink:href="#svg-fig:auto1-DejaVuSans-65" transform="translate(290.429688 0)"/>
|
<use xlink:href="#DejaVuSans-65" transform="translate(290.429688 0)"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<defs>
|
<defs>
|
||||||
<clipPath id="svg-fig:auto1-pc47365bf11">
|
<clipPath id="p28ed524191">
|
||||||
<rect x="57.6" y="41.472" width="357.12" height="266.112"/>
|
<rect x="57.6" y="41.472" width="357.12" height="266.112"/>
|
||||||
</clippath>
|
</clipPath>
|
||||||
</defs>
|
</defs>
|
||||||
</svg>
|
</svg>
|
||||||
<br>Figure 1: Bar chart with individual bar colors</div><div id="pyld-ref-table:example1">
|
<br>Figure 1: Bar chart with individual bar colors</div><div id="pyld-ref-table:example1">
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
unconditional branch instruction—often simply called the
|
unconditional branch instruction—often simply called the
|
||||||
“B” instruction—and how its 26‐bit immediate field (imm26)
|
“B” instruction—and how its 26‐bit immediate field (imm26)
|
||||||
is laid out and later relocated during linking.</p>
|
is laid out and later relocated during linking.</p>
|
||||||
<hr>
|
<hr></hr>
|
||||||
<h2>Instruction Layout</h2>
|
<h2>Instruction Layout</h2>
|
||||||
<p>The unconditional branch in AArch64 is encoded in a 32‑bit
|
<p>The unconditional branch in AArch64 is encoded in a 32‑bit
|
||||||
instruction. Its layout is as follows:</p>
|
instruction. Its layout is as follows:</p>
|
||||||
|
|
|
@ -22,7 +22,9 @@ def test_latex_embedding2():
|
||||||
contains the interaction parameter <latex>\Phi_{ij}</latex>, which describes the influence of component
|
contains the interaction parameter <latex>\Phi_{ij}</latex>, which describes the influence of component
|
||||||
<latex>j</latex> on the transport properties of component <latex>i</latex>.
|
<latex>j</latex> on the transport properties of component <latex>i</latex>.
|
||||||
|
|
||||||
The interaction parameter <latex>\Phi_{ij}</latex> is given by the relation shown in @eq:ExampleFormula2.<latex type="block" reference="eq:ExampleFormula2" caption="(1)">\Phi_{ij} = \frac{1}{\sqrt{8}} \left(1 + \frac{M_i}{M_j} \right)^{-1/2} \left[ 1 + \left( \frac{\lambda_i}{\lambda_j} \right)^{1/2} \left( \frac{M_j}{M_i} \right)^{1/4} \right]^2</latex>""")
|
The interaction parameter <latex>\Phi_{ij}</latex> is given by the relation shown in @eq:ExampleFormula2.
|
||||||
|
<latex type="block" reference="eq:ExampleFormula2" caption="(1)">\Phi_{ij} = \frac{1}{\sqrt{8}} \left(1 + \frac{M_i}{M_j} \right)^{-1/2} \left[ 1 + \left( \frac{\lambda_i}{\lambda_j} \right)^{1/2} \left( \frac{M_j}{M_i} \right)^{1/4} \right]^2</latex>
|
||||||
|
""")
|
||||||
|
|
||||||
dummy = pyladoc.DocumentWriter()
|
dummy = pyladoc.DocumentWriter()
|
||||||
result_string = dummy._equation_embedding_reescaping(test_input)
|
result_string = dummy._equation_embedding_reescaping(test_input)
|
||||||
|
@ -42,7 +44,9 @@ def test_latex_embedding():
|
||||||
""")
|
""")
|
||||||
|
|
||||||
expected_output = pyladoc._normalize_text_indent(r"""
|
expected_output = pyladoc._normalize_text_indent(r"""
|
||||||
# Test<latex type="block" reference="eq:ExampleFormula2" caption="(1)">\Phi_{ij} = \frac{1}{\sqrt{8}}</latex>This <latex>i</latex> is inline LaTeX.
|
# Test
|
||||||
|
<latex type="block" reference="eq:ExampleFormula2" caption="(1)">\Phi_{ij} = \frac{1}{\sqrt{8}}</latex>
|
||||||
|
This <latex>i</latex> is inline LaTeX.
|
||||||
""")
|
""")
|
||||||
|
|
||||||
dummy = pyladoc.DocumentWriter()
|
dummy = pyladoc.DocumentWriter()
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import pyladoc
|
import pyladoc
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
from . import document_validation
|
import document_validation
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
VALIDATE_HTML_CODE_ONLINE = True
|
VALIDATE_HTML_CODE_ONLINE = False
|
||||||
WRITE_RESULT_FILES = True
|
WRITE_RESULT_FILES = True
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import pyladoc
|
import pyladoc
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
from . import document_validation
|
import document_validation
|
||||||
|
|
||||||
VALIDATE_HTML_CODE_ONLINE = False
|
VALIDATE_HTML_CODE_ONLINE = False
|
||||||
WRITE_RESULT_FILES = True
|
WRITE_RESULT_FILES = True
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import pyladoc
|
import pyladoc
|
||||||
from . import document_validation
|
import document_validation
|
||||||
|
|
||||||
VALIDATE_HTML_CODE_ONLINE = False
|
VALIDATE_HTML_CODE_ONLINE = False
|
||||||
WRITE_RESULT_FILES = True
|
WRITE_RESULT_FILES = True
|
||||||
|
|
|
@ -1,151 +0,0 @@
|
||||||
import pyladoc
|
|
||||||
|
|
||||||
|
|
||||||
def test_update_svg_ids():
|
|
||||||
test_str = r"""
|
|
||||||
<g id="figure_1">
|
|
||||||
<g id="patch_1">
|
|
||||||
<path d="M 0 15.0336
|
|
||||||
L 24.570183 15.0336
|
|
||||||
L 24.570183 0
|
|
||||||
L 0 0
|
|
||||||
z
|
|
||||||
" style="fill: #ffffff"/>
|
|
||||||
</g>
|
|
||||||
<g id="axes_1">
|
|
||||||
<g id="text_1">
|
|
||||||
<!-- $\lambda_{\text{mix}}$ -->
|
|
||||||
<g transform="translate(3.042219 10.351343) scale(0.1 -0.1)">
|
|
||||||
<defs>
|
|
||||||
<path id="DejaVuSans-Oblique-3bb" d="M 2350 4316
|
|
||||||
|
|
||||||
|
|
||||||
" clip-path="url(#p8dcad2f367)" style="fill: none; stroke: #000000; stroke-width: 1.5; stroke-linecap: square"/>
|
|
||||||
|
|
||||||
|
|
||||||
<clipPath id="p8dcad2f367">
|
|
||||||
<rect x="57.6" y="41.472" width="357.12" height="266.112"/>
|
|
||||||
</clipPath>
|
|
||||||
</defs>
|
|
||||||
|
|
||||||
|
|
||||||
<path id="DejaVuSans-Oblique-78" d="M 3841 3500
|
|
||||||
L 2234 1784
|
|
||||||
|
|
||||||
</defs>
|
|
||||||
<use xlink:href="#DejaVuSans-Oblique-78" transform="translate(0 0.3125)"/>
|
|
||||||
<use xlink:href="#DejaVuSans-Oblique-69" transform="translate(59.179688 -16.09375) scale(0.7)"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="24.570183pt" height="15.0336pt" viewBox="0 0 24.570183 15.0336" xmlns="http://www.w3.org/2000/svg" version="1.1">
|
|
||||||
|
|
||||||
<defs>
|
|
||||||
<style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
|
|
||||||
</defs>
|
|
||||||
<g id="figure_1">
|
|
||||||
<g id="patch_1">
|
|
||||||
<path d="M 0 15.0336
|
|
||||||
L 24.570183 15.0336
|
|
||||||
L 24.570183 0
|
|
||||||
L 0 0
|
|
||||||
z
|
|
||||||
" style="fill: #ffffff"/>
|
|
||||||
</g>
|
|
||||||
<g id="axes_1">
|
|
||||||
<g id="text_1">
|
|
||||||
<!-- $\lambda_{\text{mix}}$ -->
|
|
||||||
<g transform="translate(3.042219 10.351343) scale(0.1 -0.1)">
|
|
||||||
<defs>
|
|
||||||
<path id="DejaVuSans-Oblique-3bb" d="M 2350 4316
|
|
||||||
L 3125 0
|
|
||||||
L 2516 0
|
|
||||||
L 2038 2588
|
|
||||||
L 328 0
|
|
||||||
L -281 0
|
|
||||||
L 1903 3356
|
|
||||||
L 1794 3975
|
|
||||||
Q 1725 4369 1391 4369
|
|
||||||
L 1091 4369
|
|
||||||
L 1184 4863
|
|
||||||
L 1550 4856
|
|
||||||
Q 2253 4847 2350 4316
|
|
||||||
z
|
|
||||||
" transform="scale(0.015625)"/>
|
|
||||||
<path id="DejaVuSans-6d" d="M 3328 2828
|
|
||||||
Q 3544 3216 3844 3400
|
|
||||||
Q 4144 3584 4550 3584
|
|
||||||
Q 5097 3584 5394 3201
|
|
||||||
Q 5691 2819 5691 2113
|
|
||||||
L 5691 0
|
|
||||||
L 5113 0
|
|
||||||
L 5113 2094
|
|
||||||
Q 5113 2597 4934 2840
|
|
||||||
Q 4756 3084 4391 3084
|
|
||||||
Q 3944 3084 3684 2787
|
|
||||||
Q 3425 2491 3425 1978
|
|
||||||
L 3425 0
|
|
||||||
L 2847 0
|
|
||||||
L 2847 2094
|
|
||||||
Q 2847 2600 2669 2842
|
|
||||||
Q 2491 3084 2119 3084
|
|
||||||
Q 1678 3084 1418 2786
|
|
||||||
Q 1159 2488 1159 1978
|
|
||||||
L 1159 0
|
|
||||||
L 581 0
|
|
||||||
L 581 3500
|
|
||||||
L 1159 3500
|
|
||||||
L 1159 2956
|
|
||||||
Q 1356 3278 1631 3431
|
|
||||||
Q 1906 3584 2284 3584
|
|
||||||
Q 2666 3584 2933 3390
|
|
||||||
Q 3200 3197 3328 2828
|
|
||||||
z
|
|
||||||
" transform="scale(0.015625)"/>
|
|
||||||
<path id="DejaVuSans-69" d="M 603 3500
|
|
||||||
L 1178 3500
|
|
||||||
L 1178 0
|
|
||||||
L 603 0
|
|
||||||
L 603 3500
|
|
||||||
z
|
|
||||||
M 603 4863
|
|
||||||
L 1178 4863
|
|
||||||
L 1178 4134
|
|
||||||
L 603 4134
|
|
||||||
L 603 4863
|
|
||||||
z
|
|
||||||
" transform="scale(0.015625)"/>
|
|
||||||
<path id="DejaVuSans-78" d="M 3513 3500
|
|
||||||
L 2247 1797
|
|
||||||
L 3578 0
|
|
||||||
L 2900 0
|
|
||||||
L 1881 1375
|
|
||||||
L 863 0
|
|
||||||
L 184 0
|
|
||||||
L 1544 1831
|
|
||||||
L 300 3500
|
|
||||||
L 978 3500
|
|
||||||
L 1906 2253
|
|
||||||
L 2834 3500
|
|
||||||
L 3513 3500
|
|
||||||
z
|
|
||||||
" transform="scale(0.015625)"/>
|
|
||||||
</defs>
|
|
||||||
<use xlink:href="#DejaVuSans-Oblique-3bb" transform="translate(0 0.015625)"/>
|
|
||||||
<use xlink:href="#DejaVuSans-6d" transform="translate(59.179688 -16.390625) scale(0.7)"/>
|
|
||||||
<use xlink:href="#DejaVuSans-69" transform="translate(127.368164 -16.390625) scale(0.7)"/>
|
|
||||||
<use xlink:href="#DejaVuSans-78" transform="translate(146.816406 -16.390625) scale(0.7)"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
"""
|
|
||||||
|
|
||||||
unique_id = 'xx-rgerergre-yy-trhsrthrst--xx'
|
|
||||||
|
|
||||||
result = pyladoc.svg_tools.update_svg_ids(test_str, unique_id)
|
|
||||||
|
|
||||||
print(result)
|
|
||||||
|
|
||||||
assert result.replace(f"svg-{unique_id}-", '') == test_str
|
|
Loading…
Reference in New Issue