Echarts Есть Питон версия под названием pyecharts,use очень удобен в использовании, в этой статье записано основное использованиеметод。
Echarts Это визуализация данных с открытым исходным кодом от Baidu. Благодаря хорошей интерактивности и изысканному дизайну диаграмм она получила признание многих разработчиков. и Python давыразительныйизязык,Очень подходит для обработки данных. Когда анализ данных сочетается с визуализацией данных,pyecharts родился.
pyecharts разделен на v0.5.X и v1 Две большие версии, v0.5.X и v1 Несовместимо между, v1 дасовершенно новыйиз Версия。
новая версия pyecharts поддерживать python 3.6+ Версия, установлена Python сразу после pip Просто установите:
pip(3) install pyecharts
Глобальные элементы конфигурации可通过 set_global_opts
Настройки метода
class pyecharts.options.Animation
class pyecharts.options.AriaLabelOpts
class AriaLabelOpts(
# Включить ли метку доступности. После открытия, осторожность aria-label свойство.
is_enable: bool = True,
# По умолчанию используется автоматическое описание диаграммы. Если пользователю необходимо полностью настроить его, это значение можно установить в качестве описания.
# Если он установлен на «Это диаграмма, показывающая ценовое действие»
# нодиаграмма DOM элементарный aria-label Значением атрибута является эта строка.
# Этот элемент конфигурации часто используется при отображении отдельных данных и не может отображать содержимое диаграммы.
# Пользователь отображает текст, задающий общее описание диаграммы.
# Например, диаграмма — это карта, содержащая большое количество диаграмм рассеяния. Алгоритм по умолчанию может отображать только расположение точек данных.
# Неспособность передать замысел автора в целом.
# В это время вы можете description Просто укажите, что хочет выразить автор.
description: Optional[str] = None,
# Общее описание диаграммы.
# Если диаграмма существует title.text, затем используйте withTitle。
# который включает переменные шаблона {title}: будет заменено диаграммой title.text。
general_with_title: str = "Это диаграмма о "{title}".",
# Если диаграмма не существует title.text, затем используйте withoutTitle。
general_without_title: str = "Это диаграмма,",
# Максимальное количество серий, которое указано в описании.
series_max_count: int = 10,
# Общее описание серии все из,Показывать перед описанием каждой серии. который включает переменные шаблона:
# {seriesCount}: будет заменено на количество серий, здесь оно всегда есть. 1。
series_single_prefix: str = "",
# Если в сериале есть name свойство,но Используйте это описание。который включает переменные шаблона:
# {seriesName}: будет заменен сериалом. name;
# {seriesType}: будет заменено именем типа серии, например: «Гистограмма», «Линейный график» и т. д.
series_single_with_name: str = "Тип диаграммы — {seriesType}, что означает {seriesName}.",
# Если сериала нет name свойство,но Используйте это описание。который включает переменные шаблона:
# {seriesType}: будет заменено именем типа серии, например: «Гистограмма», «Линейный график» и т. д.
series_single_without_name: str = "Тип диаграммы – {seriesType}.",
# Общее описание серии все из,Показывать перед описанием каждой серии. который включает переменные шаблона:
# {seriesCount}: будет заменено количеством серий.
series_multiple_prefix: str = "Он состоит из серии диаграмм {seriesCount}.",
# Если в сериале есть name свойство,но Используйте это описание。который включает переменные шаблона:
# {seriesName}: будет заменен сериалом. name;
# {seriesType}: будет заменено именем типа серии, например: «Гистограмма», «Линейный график» и т. д.
series_multiple_with_name: str = "Тип диаграммы — {seriesType}, что означает {seriesName}.",
# Если сериала нет name свойство,но Используйте это описание。который включает переменные шаблона:
# {seriesType}: будет заменено именем типа серии, например: «Гистограмма», «Линейный график» и т. д.
series_multiple_without_name: str = "Тип диаграммы – {seriesType}.",
# кроме разделителя после последней серии.
series_multiple_separator_middle: str = ";",
# Разделитель после последней серии.
series_multiple_separator_end: str = "。",
# Максимальное количество данных, которое появляется в каждой серии описания.
data_max_count: int = 10,
# Описание, используемое при отображении данных целиком. Этот элемент конфигурации не приведет к отображению всех данных.
# Это можно сделать с помощью aria.data.maxCount установлен на Number.MAX_VALUE Достичь всех эффектов отображения.
data_all_data: str = «Данные——»,
# когда Только有部точкаданныепоказыватьчас采использоватьизописывать。который включает переменные шаблона:
# {displayCnt}: будет заменено количеством отображаемых данных.
data_partial_data: str = «Среди них первый элемент {displayCnt} ——»,
# Если данные имеют name свойство,но Используйте это описание。который включает переменные шаблона:
# {name}: будет заменено данными name;
# {value}: значение, которое будет заменено данными.
data_with_name: str = «Данные {name} — это {value}»,
# Если данные не name свойство,но Используйте это описание。который включает переменные шаблона:
# {value}: значение, которое будет заменено данными.
data_without_name: str = "{value}",
# кроме разделителя после последних данных.
data_separator_middle: str = ",",
# Разделитель после последних данных.
# Следует отметить, что обычно за последними данными следует ряд separator.end
# так data.separator.end Пустая строка в большинстве случаев.
data_separator_end: str = "",
)
class pyecharts.options.AriaDecalOpts
class AriaDecalOpts(
# Отображать ли рисунок декали, по умолчанию не отображается. Если вы хотите показать наклейки.
# нужна гарантия aria.enabled и aria.decal.show Все true。
is_show: bool = False,
# Образец наклейки
# ECharts Доступные типы разметки включают в себя
# 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
# Это также может быть URL или SVG путь
decals_symbol: Union[str, Sequence] = "rect",
# Диапазон значений: 0 приезжать 1, обозначающий процент площади рисунка.
decals_symbol_size: Numeric = 1,
# Сохранять ли соотношение сторон шаблона.
decals_symbol_keep_aspect: bool = True,
# Цвет рисунка декали рекомендуется делать полупрозрачным, чтобы его можно было накладывать на цвет самой серии.
decals_color: str = "rgba(0, 0, 0, 0.2)",
# Цвет фона декали будет наложен на цвет самой серии и под рисунок декали.
decals_background_color: Optional[str] = None,
# Горизонтальная конфигурация рисунка декали
decals_dash_array_x: Union[Numeric, Sequence] = 5,
# Вертикальная конфигурация рисунка декали
decals_dash_array_y: Union[Numeric, Sequence] = 5,
# Общий угол поворота паттерна (в радианах), диапазон значений от -Math.PI приезжать Math.PI。
decals_rotation: Numeric = 0,
# Верхний предел ширины узора ограничивать перед его повторением.
# Обычно нет необходимости устанавливать это значение. Если вы обнаружите, что при повторении рисунка появляются прерывистые швы, вы можете попробовать увеличить это значение.
decals_max_tile_width: Numeric = 512,
# Максимальная высота паттерна ограниченность перед его повторением.
# Обычно нет необходимости устанавливать это значение. Если вы обнаружите, что при повторении рисунка появляются прерывистые швы, вы можете попробовать увеличить это значение.
decals_max_tile_height: Numeric = 512,
)
class pyecharts.options.InitOpts
class InitOpts(
# Ширина холста диаграммы, css единица длины.
width: str = "900px",
# Высота холста диаграммы, css единица длины.
height: str = "500px",
# диаграмма ID, уникальный идентификатор диаграммы, используемый для различения нескольких диаграмм.
chart_id: Optional[str] = None,
# стиль рендеринга, необязательно "canvas", "svg"
# # ссылка `глобальные переменные` глава
renderer: str = RenderType.CANVAS,
# Название веб-страницы
page_title: str = "Awesome-pyecharts",
# тема диаграммы
theme: str = "white",
# Цвет фона диаграммы
bg_color: Optional[str] = None,
# удаленный js хост, если не установлен, по умолчанию используется https://assets.pyecharts.org/assets/"
# ссылка `глобальные переменные` глава
js_host: str = "",
# Инициализация анимации рисования Конфигурация,ссылка `global_options.AnimationOpts`
animation_opts: Union[AnimationOpts, dict] = AnimationOpts(),
)
class pyecharts.options.ToolBoxFeatureSaveAsImagesOpts
class ToolBoxFeatureSaveAsImageOpts(
# Формат сохраненного изображения. поддержка 'png' и 'jpeg'。
type_: str = "png",
# Имя сохраненного документа, использовать по умолчанию title.text как имя.
name: Optional[str] = None,
# Цвет фона сохраненного изображения, по умолчанию использовать BackgroundColor, если фоновый цвет не существует, он будет белым.
background_color: str = "auto",
# еслидиаграммаиспользовать echarts.connect Связать несколько диаграмм,носуществовать Эти связи будут экспортированы при экспорте изображений.издиаграмма。Должен Конфигурацияэлемент Решать Понятнодиаграммаидиаграммаразрыв междуиз Цвет заливки.
connected_background_color: str = "#fff",
# Список компонентов игнорируется при сохранении в виде изображения, панель инструментов игнорируется по умолчанию.
exclude_components: Optional[Sequence[str]] = None,
# Отображать ли этот инструмент.
is_show: bool = True,
# быстрый
title: str = «Сохранить как картинку»,
# может пройти 'image://url' установлен на картинках,в URL длякартинаиз Связь,или dataURI。
icon: Optional[JSFunc] = None,
# держатькартинаизкоэффициент разрешения,по умолчанию То же, что контейнерразмер,если Нужно сохранить в более высоком разрешениииз,可кустановлен набольше, чем 1 стоимость, например 2。
pixel_ratio: Numeric = 1,
):
class pyecharts.options.ToolBoxFeatureRestoreOpts
class ToolBoxFeatureRestoreOpts(
# Отображать ли этот инструмент.
is_show: bool = True,
# быстрый
title: str = "снижение",
# может пройти 'image://url' установлен на картинках,в URL длякартинаиз Связь,или dataURI。
icon: Optional[JSFunc] = None
):
class pyecharts.options.ToolBoxFeatureDataViewOpts
class ToolBoxFeatureDataViewOpts(
# Отображать ли этот инструмент.
is_show: bool = True,
# быстрый
title: str = "снижение",
# может пройти 'image://url' установлен на картинках,в URL длякартинаиз Связь,или dataURI。
icon: Optional[JSFunc] = None
# Является ли он недоступным для редактирования (только для чтения). По умолчанию False
is_read_only: bool = False,
# Настроить dataView Функция отображения для замены значения по умолчанию textarea использовать более расширенное редактирование данных. могу вернуться dom объектили html Нить.
option_to_content: Optional[JSFunc] = None,
# существоватьиспользовать optionToContent В этом случае, если данные подтверждения обновляются после редактирования, вам необходимо реализовать сборку самостоятельно через эту функцию. option логика.
content_to_option: Optional[JSFunc] = None,
# В представлении данных есть три слова. По умолчанию используется ['представление данных', 'закрытие', «обновить»].
lang: Optional[Sequence[str]] = None,
# Цвет фона плавающего слоя представления данных.
background_color: str = "#fff",
# Цвет фона плавающей области ввода текста в представлении данных.
text_area_color: str = "#fff",
# Цвет границы плавающей области ввода текста в представлении данных.
text_area_border_color: str = "#333",
# Цвет текста.
text_color: str = "#000",
# Цвет кнопки.
button_color: str = "#c23531",
# Кнопка Цвет текста.
button_text_color: str = "#fff",
):
class pyecharts.options.ToolBoxFeatureDataZoomOpts
class ToolBoxFeatureDataZoomOpts(
# Отображать ли этот инструмент.
is_show: bool = True,
# быстрый
zoom_title: str = "масштаб области",
# быстрый
back_title: str = «Восстановление масштаба региона»,
# может пройти 'image://url' установлен на картинках,в URL длякартинаиз Связь,или dataURI。
zoom_icon: Optional[JSFunc] = None,
# может пройти 'image://url' установлен на картинках,в URL длякартинаиз Связь,или dataURI。
back_icon: Optional[JSFunc] = None,
# укажите какой xAxis контролируемый. Если по умолчанию контролируется все x ось.
# еслиустановлен на false но не контролирует никакую хось.еслинастройка 3 Затем контролируйте axisIndex для 3 из x ось.
# еслиустановлен на [0, 3] Затем контролируйте axisIndex для 0 и 3 из x ось.
xaxis_index: Union[Numeric, Sequence, bool] = None,
# укажите какой yAxis контролируемый. Если по умолчанию контролируется все y ось.
# еслиустановлен на false но не контролирует никакую ёсь.еслинастройка 3 Затем контролируйте axisIndex для 3 из y ось.
# еслиустановлен на [0, 3] Затем контролируйте axisIndex для 0 и 3 из y ось.
yaxis_index: Union[Numeric, Sequence, bool] = None,
# dataZoom из Принцип работыда通过данные过滤кисуществоватьвнутреннийнастраиватьосьизпоказывать窗口来达приезжать Масштаб окна данныхиз Эффект。
# «фильтр»: данные за пределами текущего окна данных.,отфильтровано。Прямо сейчасвстреча影响其他осьизданныеобъем。
# Для каждого элемента данных, пока одно измерение находится за пределами окна данных, весь элемент данных будет отфильтрован.
# 'weakFilter':За пределами текущего окна данныхизданные,отфильтровано。Прямо сейчасвстреча影响其他осьизданныеобъем。
# Для каждого элемента данных, только если все измерения находятся за пределами одной стороны окна данных, весь элемент данных будет отфильтрован.
# 'empty':За пределами текущего окна данныхизданные,одеялоустановлен нанулевой。Прямо сейчас Нетвстреча影响其他осьизданныеобъем。
# 'none': Данные не фильтруются, меняется только диапазон числовой оси.
filter_mode: str = "filter",
):
class pyecharts.options.ToolBoxFeatureMagicTypeOpts
class ToolBoxFeatureMagicTypeOpts(
# Отображать ли этот инструмент.
is_show: bool = True,
# Включить динамическую типизацию
# Включить «линию» (переключатель для линейного графика), 'bar'(выключательдлягистограмма),
# 'stack'(выключательдлярежим стека), 'tiled'(выключательдля Режим плитки)。
type_: Optional[Sequence] = None,
# различные типыизтекст заголовка,可ксоответственно Конфигурация。
line_title: str = "выключательдля Линейный график",
# различные типыизтекст заголовка,可ксоответственно Конфигурация。
bar_title: str = "выключательдлягистограмма",
# различные типыизтекст заголовка,可ксоответственно Конфигурация。
stack_title: str = "выключательдлякуча",
# различные типыизтекст заголовка,可ксоответственно Конфигурация。
tiled_title: str = "выключательдля Плитка",
# различные типыиз icon путь, который можно настроить отдельно.
line_icon: Optional[JSFunc] = None,
# различные типыиз icon путь, который можно настроить отдельно.
bar_icon: Optional[JSFunc] = None,
# различные типыиз icon путь, который можно настроить отдельно.
stack_icon: Optional[JSFunc] = None,
# различные типыиз icon путь, который можно настроить отдельно.
tiled_icon: Optional[JSFunc] = None,
):
class pyecharts.options.ToolBoxFeatureBrushOpts
class ToolBoxFeatureBrushOpts(
# использоватьизкнопка,Ценить:
# «rect»: включить функцию выбора прямоугольной области.
# «многоугольник»: включить функцию выбора рамки любой формы.
# 'lineX': включить функцию горизонтального выбора.
# 'lineY': включить функцию вертикального выбора.
# «Сохранить»: переключение между режимами «одинарного выбора» и «множественного выбора». Последний может отображать несколько флажков одновременно. Бывшие владения нажмите, чтобы снять все флажки.
# «Очистить»: очистить все поля выбора.
type_: Optional[str] = None,
# 每个кнопкаиз icon path。
rect_icon: Optional[JSFunc] = None,
# 每个кнопкаиз icon path。
polygon_icon: Optional[JSFunc] = None,
# 每个кнопкаиз icon path。
line_x_icon: Optional[JSFunc] = None,
# 每个кнопкаиз icon path。
line_y_icon: Optional[JSFunc] = None,
# 每个кнопкаиз icon path。
keep_icon: Optional[JSFunc] = None,
# 每个кнопкаиз icon path。
clear_icon: Optional[JSFunc] = None,
# Текст заголовка.
rect_title: str = «прямоугольное выделение»,
# Текст заголовка.
polygon_title: str = «выбор круга»,
# Текст заголовка.
line_x_title: str = «горизонтальный выбор»,
# Текст заголовка.
line_y_title: str = «вертикальный выбор»,
# Текст заголовка.
keep_title: str = «Сохранить выбранное»,
# Текст заголовка.
clear_title: str = «Очистить выбор»,
):
class pyecharts.options.ToolBoxFeatureOpts
class ToolBoxFeatureOpts(
# держатьдлякартина
save_as_image: Union[ToolBoxFeatureSaveAsImageOpts, dict] = ToolBoxFeatureSaveAsImageOpts(),
# Восстановление элемента конфигурации
restore: Union[ToolBoxFeatureRestoreOpts, dict] = ToolBoxFeatureRestoreOpts(),
# данныевид工具,可к展现когда前диаграммаиспользовализданные,编辑后可к动态возобновлять
data_view: Union[ToolBoxFeatureDataViewOpts, dict] = ToolBoxFeatureDataViewOpts(),
# данные区域Увеличить。(В настоящее время толькоподдерживатьпрямой уголсистема координатиз Увеличить)
data_zoom: Union[ToolBoxFeatureDataZoomOpts, dict] = ToolBoxFeatureDataZoomOpts(),
# Динамическое переключение типов.
magic_type: Union[ToolBoxFeatureMagicTypeOpts, dict] = ToolBoxFeatureMagicTypeOpts(),
# шатеркомпонентыизконтролькнопка。
brush: Union[ToolBoxFeatureBrushOpts, dict] = ToolBoxFeatureBrushOpts(),
)
class pyecharts.options.ToolboxOpts
class ToolboxOpts(
# Отображать ли компоненты панели инструментов
is_show: bool = True,
# Панель инструментов icon из ориентации макета.
# Необязательно: «горизонтально», 'vertical'
orient: str = "horizontal",
# Панель инструментовкомпонентывне контейнералевыйсторонаизрасстояние。
# left изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент,
# Это также может быть 'left', 'center', 'right'。
# если left изценитьдля'left', 'center', 'right',компоненты будут автоматически выровнены в соответствии с соответствующим положением
pos_left: str = "80%",
# Панель инструментовкомпонентывне контейнераверносторонаизрасстояние。
# right изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент。
pos_right: Optional[str] = None,
# Панель инструментовкомпонентывне контейнераначальствосторонаизрасстояние。
# top изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент,
# Это также может быть 'top', 'middle', 'bottom'。
# если top изценитьдля'top', 'middle', 'bottom',компоненты будут автоматически выровнены в соответствии с соответствующим положением。
pos_top: Optional[str] = None,
# Панель инструментовкомпонентывне контейнера Внизсторонаизрасстояние。
# bottom изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент。
pos_bottom: Optional[str] = None,
# Инструменты Конфигурацияэлемент,ссылка `global_options.ToolBoxFeatureOpts`
feature: Union[ToolBoxFeatureOpts, dict] = ToolBoxFeatureOpts(),
)
class pyecharts.options.BrushOpts
class BrushOpts(
# использоватьсуществовать toolbox серединаизкнопка。по умолчаниюценитьдля ["rect", "polygon", "keep", "clear"]
# brush Связанный toolbox Кнопки:
# «rect»: включить функцию выбора прямоугольной области.
# «многоугольник»: включает функцию выбора рамки любой формы.
# «lineX»: включить функцию горизонтального выбора.
# «lineY»': включить функцию вертикального выбора.
# «Сохранить»: переключение между режимами «одинарного выбора» и «множественного выбора». Последний может отображать несколько флажков одновременно. Бывшие владения нажмите, чтобы снять все флажки.
# «Очистить»: очистить все поля выбора.
tool_box: Optional[Sequence] = None,
# Неттакой жеряд间,выбраноизэлемент可к Связь。
# brush_link Элемент конфигурации представляет собой список, содержимое которого seriesIndex, которые указаны series Можно связать.
# Например, это может быть:
# [3, 4, 5] выражать seriesIndex для 3, 4, 5 из series Можно связать.
# "all" выражатьвсе series Все выполнено brushLink。
# None выражать не включено brush_link Функция.
brush_link: Union[Sequence, str] = None,
# укажите какой series 可кодеяло Выбор кисти,可ценитьдля:
# "all": все series
# series index список, нравиться [0, 4, 2],выражатьобозначение Эти index Соответствует изсистема координат。
# кто-то series index, нравиться 0,выразить это index Соответствует изсистема координат。
series_index: Union[Sequence, Numeric, str] = None,
# укажите какой geo Можно выбрать кисть. Можно установить brush даобщая ситуацияизвозвращатьсядапринадлежатьсистема координатиз。
# общая ситуация brush
# существовать echarts Выбор кисти в любом месте экземпляра. Это дапо Настройка по умолчанию. Описание системы отсутствует. координат brush,Сразудаобщая ситуация brush。
# система координат brush
# существоватьобозначениеизсистема координат Выбор кисти。шатер可к跟随система координатиз Увеличитьи Кастрюля( roam и dataZoom ) и двигаться.
# система координат brush На самом деле чаще используется,Особенно дасуществовать geo середина.
# Указав brush.geoIndex или brush.xAxisIndex или brush.yAxisIndex 来规定可ксуществовать Которыйсистема Сделайте выделение кистью в координатах.
# укажите какой series 可кодеяло Выбор кисти,可ценитьдля:
# "all": выражатьвсе series
# series index список, нравиться [0, 4, 2],выражатьобозначение Эти index Соответствует изсистема координат。
# кто-то series index, нравиться 0,выразить это index Соответствует изсистема координат。
geo_index: Union[Sequence, Numeric, str] = None,
# укажите какой xAxisIndex Можно выбрать кисть. Можно установить brush даобщая ситуацияизвозвращатьсядапринадлежатьсистема координатиз。
# общая ситуация brush
# существовать echarts Выбор кисти в любом месте экземпляра. Это дапо Настройка по умолчанию. Описание системы отсутствует. координат brush,Сразудаобщая ситуация brush。
# система координат brush
# существоватьобозначениеизсистема координат Выбор кисти。шатер可к跟随система координатиз Увеличитьи Кастрюля( roam и dataZoom ) и двигаться.
# система координат brush На самом деле чаще используется,Особенно дасуществовать geo середина.
# Указав brush.geoIndex или brush.xAxisIndex или brush.yAxisIndex 来规定可ксуществовать Которыйсистема Сделайте выделение кистью в координатах.
# укажите какой series 可кодеяло Выбор кисти,可ценитьдля:
# "all": выражатьвсе series
# series index список, нравиться [0, 4, 2],выражатьобозначение Эти index Соответствует изсистема координат。
# кто-то series index, нравиться 0,выразить это index Соответствует изсистема координат。
x_axis_index: Union[Sequence, Numeric, str] = None,
# укажите какой yAxisIndex Можно выбрать кисть. Можно установить brush даобщая ситуацияизвозвращатьсядапринадлежатьсистема координатиз。
# общая ситуация brush
# существовать echarts Выбор кисти в любом месте экземпляра. Это дапо Настройка по умолчанию. Описание системы отсутствует. координат brush,Сразудаобщая ситуация brush。
# система координат brush
# существоватьобозначениеизсистема координат Выбор кисти。шатер可к跟随система координатиз Увеличитьи Кастрюля( roam и dataZoom ) и двигаться.
# система координат brush На самом деле чаще используется,Особенно дасуществовать geo середина.
# Указав brush.geoIndex или brush.xAxisIndex или brush.yAxisIndex 来规定可ксуществовать Которыйсистема Сделайте выделение кистью в координатах.
# укажите какой series 可кодеяло Выбор кисти,可ценитьдля:
# "all": выражатьвсе series
# series index список, нравиться [0, 4, 2],выражатьобозначение Эти index Соответствует изсистема координат。
# кто-то series index, нравиться 0,выразить это index Соответствует изсистема координат。
y_axis_index: Union[Sequence, Numeric, str] = None,
# по Типы кистей по умолчанию. по умолчаниюценитьдля rect。
# Необязательныйпараметрнравиться Вниз:
# «rect»: прямоугольное поле выбора.
# «многоугольник»: поле выбора любой формы.
# «lineX»: горизонтальное выделение.
# «lineY»: вертикальное выделение.
brush_type: str = "rect",
# по умолчаниюизщеткаизмодель。可ценитьдля:
# по умолчаниюдля single
# «single»: одиночный выбор.
# «множественный»: множественный выбор.
brush_mode: str = "single",
# Уже выбраноизшатерданет可кодеяло调整формаили Кастрюля。по умолчаниюценитьдля True
transformable: bool = True,
# шатеризпо умолчаниюстиль,ценитьдля
# {
# "borderWidth": 1,
# "color": "rgba(120,140,180,0.3)",
# "borderColor": "rgba(120,140,180,0.8)"
# },
brush_style: Optional[dict] = None,
# по умолчанию Состояние,Выбор кистиили Переместить выделениеизкогда,События BrushSelected будут продолжать отправляться,от而告诉外界выбраноизсодержание。
# Но частые события могут вызвать проблемы с производительностью.,илианимация Эффект很差。
# так brush Компонент обеспечивает brush.throttleType,brush.throttleDelay чтобы решить эту проблему.
# throttleType Значение может быть:
# "debounce":выражать Только有停止动делать Понятно(Это одинчастьчас间Нет操делать Понятно),вызовет событие。час间阈ценить由 brush.throttleDelay обозначение.
# "fixRate": выражение запускает события с определенной частотой.,Временной интервал определяется выражением brush.throttleDelay обозначение.
throttle_type: str = "fixRate",
# по умолчаниюдля 0 выражение не открыто throttle。
throttle_delay: Numeric = 0,
# существовать brush_mode для "single" из Состояние Вниз,данетподдерживать Нажмите «Очистить».всешатер。
remove_on_click: bool = True,
# определениесуществоватьвыбранообъем外из Зрениеэлемент.финальныйпараметрк字典издействовать по форме Конфигурация
# Необязательныйиз Зрение元素有:
# symbol: Элемент графика из категории графика.
# symbolSize: Элемент изображения изразмера.
# color: Цвет примитива из.
# colorAlpha: Элементы цвета и прозрачности.
# opacity: примитивныйкиего придатки(нравитьсятекстовая метка)изпрозрачность。
# colorLightness: цвет из легкости,Видеть https://en.wikipedia.org/wiki/HSL_and_HSV。
# colorSaturation: цветизполныйистепень,Видеть https://en.wikipedia.org/wiki/HSL_and_HSV。
# colorHue: цветизтон,См. https://en.wikipedia.org/wiki/HSL_and_HSV.
out_of_brush: dict = Нет,
)
class pyecharts.options.TitleOpts
class TitleOpts(
# Отображать ли компонент заголовка.
is_show: bool = True,
# 主текст заголовка,поддерживатьиспользовать \n Разрыв строки.
title: Optional[str] = None,
# Главный прыжок за титул URL Связь
title_link: Optional[str] = None,
# Главный прыжок за титул Связь Способ
# Значение по умолчанию: blank
# Дополнительные параметры: 'self', 'blank'
# 'self' Текущее окно открыто; 'blank' Откроется новое окно
title_target: Optional[str] = None,
# 副текст заголовка,поддерживатьиспользовать \n Разрыв строки.
subtitle: Optional[str] = None,
# переход к субтитрам URL Связь
subtitle_link: Optional[str] = None,
# переход к субтитрам Связь Способ
# Значение по умолчанию: blank
# Дополнительные параметры: 'self', 'blank'
# 'self' Текущее окно открыто; 'blank' Откроется новое окно
subtitle_target: Optional[str] = None,
# title компонентывне контейнералевыйсторонаизрасстояние。
# left изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент,
# Это также может быть 'left', 'center', 'right'。
# если left изценитьдля'left', 'center', 'right',компоненты будут автоматически выровнены в соответствии с соответствующим положением。
pos_left: Optional[str] = None,
# title компонентывне контейнераверносторонаизрасстояние。
# right изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент。
pos_right: Optional[str] = None,
# title компонентывне контейнераначальствосторонаизрасстояние。
# top изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент,
# Это также может быть 'top', 'middle', 'bottom'。
# если top изценитьдля'top', 'middle', 'bottom',компоненты будут автоматически выровнены в соответствии с соответствующим положением。
pos_top: Optional[str] = None,
# title компонентывне контейнера Внизсторонаизрасстояние。
# bottom изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент。
pos_bottom: Optional[str] = None,
# заполнение заголовка,Единица пикселей,по умолчанию各направление向内допускдля5,Принять настройки массива индивидуальноначальствоверно Внизлевыйдопуск。
# // настраивать内допускдля 5
# padding: 5
# // настраиватьначальство Внизиз内допускдля 5,левыйверноиз内допускдля 10
# padding: [5, 10]
# // соответственнонастраиватьчетыре направленияиз内допуск
# padding: [
# 5, // начальство
# 10, // верно
# 5, // Вниз
# 10, // левый
# ]
padding: Union[Sequence, Numeric] = 5,
# Расстояние между основными и субтитрами.
item_gap: Numeric = 10,
# целое (включая text и подтекст) из горизонтального выравнивания.
# Необязательные значения: «авто», «слева», «справа», «центр».
text_align: str = "auto",
# целое (включая text и подтекст) из вертикального выравнивания.
# Необязательные значения: «авто», «слева», «справа», «центр».
text_vertical_align: str = "auto",
# Инициировать ли событие.
is_trigger_event: bool = False,
# 主заголовокшрифтстиль Конфигурацияэлемент,ссылка `series_options.TextStyleOpts`
title_textstyle_opts: Union[TextStyleOpts, dict, None] = None,
# 副заголовокшрифтстиль Конфигурацияэлемент,ссылка `series_options.TextStyleOpts`
subtitle_textstyle_opts: Union[TextStyleOpts, dict, None] = None,
)
class pyecharts.options.DataZoomOpts
class DataZoomOpts(
# Отображать ли компоненты。еслиустановлен на false,не будет отображаться,нодаданные过滤из Функциявозвращаться存существовать。
is_show: bool = True,
# Тип компонента, опционально "slider", "inside"
type_: str = "slider",
# Во время перетаскивания,данет实часвозобновлятьрядизвид。еслиустановлен на false,но Толькосуществовать Конец перетаскиванияизкогдавозобновлять。
is_realtime: bool = True,
# данные窗口объемизначинатьпроцент。объемда:0 ~ 100。выражать 0% ~ 100%。
range_start: Union[Numeric, None] = 20,
# данные窗口объемиз Заканчиватьпроцент。объемда:0 ~ 100
range_end: Union[Numeric, None] = 80,
# данные窗口объемизначинатьчисловое значение。еслинастраивать Понятно start но startValue Неверный.
start_value: Union[int, str, None] = None,
# данные窗口объемиз Заканчиватьчисловое значение。еслинастраивать Понятно end но endValue Неверный.
end_value: Union[int, str, None] = None,
# макет Способда横возвращатьсядавертикальный。не толькодамакет Способ,дляпрямой уголсистема координатс точки зрения,также Решать Понятно,缺省Состояниеконтроль横向числоосьвозвращатьсяда纵向числоось
# Необязательныйценитьдля:'horizontal', 'vertical'
orient: str = "horizontal",
# настраивать dataZoom-inside компонентыконтрольиз x ось (т.е. xAxis,дапрямой уголсистема координатсерединаизконцепция,Видеть grid)。
# Когда не указано, когда dataZoom-inside.orient для «горизонтальный», элемент управления по умолчанию и dataZoom Параллельно с первым xAxis
# еслида number выражатьконтрольодин个ось,еслида Array выражатьконтрольмного个ось.
xaxis_index: Union[int, Sequence[int], None] = None,
# настраивать dataZoom-inside компонентыконтрольиз y ось (т.е. yAxis,дапрямой уголсистема координатсерединаизконцепция,Видеть grid)。
# Когда не указано, когда dataZoom-inside.orient для «горизонтальный», элемент управления по умолчанию и dataZoom Параллельно с первым yAxis
# еслида number выражатьконтрольодин个ось,еслида Array выражатьконтрольмного个ось.
yaxis_index: Union[int, Sequence[int], None] = None,
# данет Заблокировать область выбора(или叫做данные窗口)изразмер。
# еслиустановлен на true но Заблокировать область выбораразмера,также Сразудаобъяснять,Можно только панорамировать,Нет能Увеличить。
is_zoom_lock: bool = False,
# dataZoom-slider компонентывне контейнералевыйсторонаизрасстояние。
# left изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент,
# Это также может быть 'left', 'center', 'right'。
# если left изценитьдля 'left', 'center', 'right',компоненты будут автоматически выровнены в соответствии с соответствующим положением。
pos_left: Optional[str] = None,
# dataZoom-slider компонентывне контейнераначальствосторонаизрасстояние。
# top изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент,
# Это также может быть 'top', 'middle', 'bottom'。
# если top изценитьдля 'top', 'middle', 'bottom',компоненты будут автоматически выровнены в соответствии с соответствующим положением。
pos_top: Optional[str] = None,
# dataZoom-slider компонентывне контейнераверносторонаизрасстояние。
# right изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент。
# Адаптивный по умолчанию.
pos_right: Optional[str] = None,
# dataZoom-sliderкомпонентывне контейнера Внизсторонаизрасстояние。
# bottom изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент。
# Адаптивный по умолчанию.
pos_bottom: Optional[str] = None,
# dataZoom из Принцип работыда通过данные过滤кисуществоватьвнутреннийнастраиватьосьизпоказывать窗口来达приезжать Масштаб окна данныхиз Эффект。
# «фильтр»: данные за пределами текущего окна данных.,отфильтровано。Прямо сейчасвстреча影响其他осьизданныеобъем。
# Для каждого элемента данных, пока одно измерение находится за пределами окна данных, весь элемент данных будет отфильтрован.
# 'weakFilter':За пределами текущего окна данныхизданные,отфильтровано。Прямо сейчасвстреча影响其他осьизданныеобъем。
# Для каждого элемента данных, только если все измерения находятся за пределами одной стороны окна данных, весь элемент данных будет отфильтрован.
# 'empty':За пределами текущего окна данныхизданные,одеялоустановлен нанулевой。Прямо сейчас Нетвстреча影响其他осьизданныеобъем。
# 'none': Данные не фильтруются, меняется только диапазон числовой оси.
filter_mode: str = "filter"
)
class pyecharts.options.LegendOpts
class LegendOpts(
# легендаизтип。Необязательныйценить:
# 'plain': простая легенда. По умолчанию используется обычная легенда.
# 'scroll':Прокручиваемое перелистывание страницизлегенда。когдалегендачисло量较многочас可киспользовать。
type_: Optional[str] = None,
# легенда选择измодель,контрольданетможет пройти点击легенда改变рядизпоказывать状态。по умолчанию开启легенда选择,可кнастраиватьстановиться false закрытие
# Кроме того, его также можно установить на 'single' или 'multiple' использовать Единый выборилимного选модель。
selected_mode: Union[str, bool, None] = None,
# Отображать лилегендакомпоненты
is_show: bool = True,
# легендакомпонентывне контейнералевыйсторонаизрасстояние。
# left изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент,
# Это также может быть 'left', 'center', 'right'。
# если left изценитьдля'left', 'center', 'right',компоненты будут автоматически выровнены в соответствии с соответствующим положением。
pos_left: Union[str, Numeric, None] = None,
# легендакомпонентывне контейнераверносторонаизрасстояние。
# right изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент。
pos_right: Union[str, Numeric, None] = None,
# легендакомпонентывне контейнераначальствосторонаизрасстояние。
# top изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент,
# Это также может быть 'top', 'middle', 'bottom'。
# если top изценитьдля'top', 'middle', 'bottom',компоненты будут автоматически выровнены в соответствии с соответствующим положением。
pos_top: Union[str, Numeric, None] = None,
# легендакомпонентывне контейнера Внизсторонаизрасстояние。
# bottom изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент。
pos_bottom: Union[str, Numeric, None] = None,
# легенда列表из ориентации макета.Необязательно: «горизонтально», 'vertical'
orient: Optional[str] = None,
# легендаотметкаитекстиз Выравнивание。по умолчаниюавтоматический(auto)
# По расположению компонентов orient Решать
# когдакомпонентыиз left ценитьдля 'right' и вертикальное расположение (ориентировать для 'vertical')изкогдадляверно Выравнивание,Прямо сейчасдля 'right'。
# Дополнительные параметры: `auto`, `left`, `right`
align: Optional[str] = None,
# легенда内допуск,Единица пикселей,по умолчанию各направление向内допускдля5
padding: int = 5,
# легенда每элементмеждуизинтервал。При горизонтальном расположениидляуровеньинтервал,для вертикального интервала при вертикальном расположении.
# по умолчаниюинтервалдля 10
item_gap: int = 10,
# легендаотметкаизграфика Ширинастепень。по умолчанию Ширинастепеньдля 25
item_width: int = 25,
# легендаотметкаизграфикавысокийстепень。по умолчаниювысокийстепеньдля 14
item_height: int = 14,
# легендазакрытиечасизцвет。по умолчаниюда #ccc
inactive_color: Optional[str] = None,
# легендакомпонентышрифтстиль,ссылка `series_options.TextStyleOpts`
textstyle_opts: Union[TextStyleOpts, dict, None] = None,
# легендаэлементиз icon。
# ECharts Доступные типы разметки включают в себя 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
# может пройти 'image://url' установлен на картинках,в URL длякартинаиз Связь,или dataURI。
# может пройти 'path://' значок установлен на произвольный векторный путь.
legend_icon: Optional[str] = None,
# Цвет фона легенды, по умолчанию прозрачный.
background_color: Optional[str] = "transparent",
# легендаизрамкацвет。поддерживатьизцвет Форматтакой же backgroundColor。
border_color: Optional[str] = "#ccc",
# легендаизрамкаширина линии.
border_width: int = 1,
# Угловой радиус, единица измерения px, поддержка передается в массив и указывается отдельно. 4 угловой радиус. нравиться:
border_radius: Union[int, Sequence] = 0,
# legend.type для 'scroll' действительный.легендаконтроль块середина,кнопкаимежду страницами информацииизинтервал。
page_button_item_gap: int = 5,
# legend.type для 'scroll' действительный.легендаконтроль块илегендаэлементмеждуизинтервал。
page_button_gap: Optional[int] = None,
# legend.type для 'scroll' действительный.легендаконтроль块из Расположение。Необязательныйценитьдля:
# 'start':контроль块существоватьлевыйилиначальство。
# 'end':контроль块существоватьверноили Вниз。
page_button_position: str = "end",
# legend.type для 'scroll' действительный.
# легендаконтроль块середина,информация о страницеизпоказывать Формат。по умолчаниюдля '{текущий}/{всего}', где {current} текущий номер страницы (от 1 начните считать), {всего} это общее количество страниц.
# если pageFormatter использоватьфункция,Должен вернуть строку,параметрдля:
# {
# current: number
# total: number
# }
page_formatter: JSFunc = "{current}/{total}",
# legend.type для 'scroll' действительный.легендаконтроль块изикона。
page_icon: Optional[str] = None,
# legend.type для 'scroll' действительный.翻页кнопкаизцвет。
page_icon_color: str = "#2f4554",
# legend.type для 'scroll' действительный.翻页кнопка Нет激活час(Прямо сейчас翻页приезжать头час)изцвет。
page_icon_inactive_color: str = "#aaa",
# legend.type для 'scroll' действительный.
# 翻页кнопкаизразмер。可кдачисло,Это также может бытьмножество,нравиться [10, 3],выражать [ширина, высота].
page_icon_size: Union[int, Sequence] = 15,
# Анимировано ли перелистывание страниц легенды.
is_page_animation: Optional[bool] = None,
# легенда翻页часизанимациячас长。
page_animation_duration_update: int = 800,
# легендакомпонентысерединаизселекторкнопка,目前включать全选и Выберите две альтернативы Функция.
# по умолчанию Нетпоказывать,Пользователи могут вручную включить,также可к手动Конфигурация每个кнопкаиззаголовок。
selector: Union[bool, Sequence] = False,
# селекториз Расположение,可к放существоватьлегендаизхвостилиголова,переписыватьсяизценитьсоответственнодля 'end' и 'start'。
# по умолчанию Состояние Вниз,легенда横向макетизкогда,селектор放существоватьлегендаизхвост;легенда纵向макетизкогда,селектор放существоватьлегендаизголова。
selector_position: str = "auto",
# селекторкнопкамеждуизинтервал。
selector_item_gap: int = 7,
# селекторкнопкаилегендакомпонентымеждуизинтервал。
selector_button_gap: int = 10,
)
class pyecharts.options.VisualMapOpts
class VisualMapOpts(
# Отображать ли Зрение映射Конфигурация
is_show: bool = True,
# Тип перехода сопоставления, необязательно, «цвет», "size"
type_: str = "color",
# обозначение visualMapPiecewise компонентыиз最小ценить。
min_: Union[int, float] = 0,
# обозначение visualMapPiecewise компонентыизмаксимальное значение.
max_: Union[int, float] = 100,
# оба концаизтекст,нравиться['High', 'Low']。
range_text: Union[list, tuple] = None,
# visualMap Цвет перехода компонента
range_color: Union[Sequence[str]] = None,
# visualMap компонентный переход symbol размер
range_size: Union[Sequence[int]] = None,
# visualMap примитивныйкиего придатки(нравитьсятекстовая метка)изпрозрачность。
range_opacity: Optional[Numeric] = None,
# нравиться何место visualMap компоненты,уровень('horizontal')иливертикальный直('vertical')。
orient: str = "vertical",
# visualMap компонентывне контейнералевыйсторонаизрасстояние。
# left изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент,
# Это также может быть 'left', 'center', 'right'。
# если left изценитьдля'left', 'center', 'right',компоненты будут автоматически выровнены в соответствии с соответствующим положением。
pos_left: Optional[str] = None,
# visualMap компонентывне контейнераверносторонаизрасстояние。
# right изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент。
pos_right: Optional[str] = None,
# visualMap компонентывне контейнераначальствосторонаизрасстояние。
# top изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент,
# Это также может быть 'top', 'middle', 'bottom'。
# если top изценитьдля'top', 'middle', 'bottom',компоненты будут автоматически выровнены в соответствии с соответствующим положением。
pos_top: Optional[str] = None,
# visualMap компонентывне контейнера Внизсторонаизрасстояние。
# bottom изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент。
pos_bottom: Optional[str] = None,
# для连续型данные,автоматический平均切точкастановиться几часть。по умолчаниюдля5часть。连续данныеизобъемнуждаться max и min 来обозначение
split_number: int = 5,
# обозначение Выбирать哪个рядизданные,по умолчанию Выбиратьвсеряд。
series_index: Union[Numeric, Sequence, None] = None,
# Размеры сопоставления компонентов
dimension: Optional[Numeric] = None,
# Отображать ли Для перетаскиванияизручка(ручка能拖拽调整выбранообъем)。
is_calculable: bool = True,
# данетдляточкачасть型
is_piecewise: bool = False,
# Стоит ли повернуть вспять visualMap компоненты
is_inverse: bool = False,
# данные展示издесятичный Точность。
# Непрерывные данные сегментируются равномерно, а точность автоматически адаптируется к данным.
# 连续型данные Настроитьточкачастьили离散данные根据类别точкачастьмодель,Точностьпо умолчаниюдля0(Нетдесятичный)。
precision: Optional[int] = None,
# Настроитьизкаждыйчастьизобъем,кикаждыйчастьизхарактер,кикаждыйчастьизособенныйизстиль。примернравиться:
# pieces: [
# {"min": 1500}, // Нетобозначение max,выражать max для Бесконечность.
# {"min": 900, "max": 1500},
# {"min": 310, "max": 1000},
# {"min": 200, "max": 300},
# {"min": 10, "max": 200, "label": '10 приезжать 200(Настроитьlabel)'},
# {"value": 123, "label": '123(Настроитьособенныйцвет)', "color": 'grey'}, //выражать value равный 123 из Состояние
# {"max": 5} // Нетобозначение min,выражать min для бесконечности (-Бесконечность).
# ]
pieces: Optional[Sequence] = None,
# определение существоватьвыбранообъем外 из Зрениеэлемент.(использовать户可ки visualMap компонентывзаимодействие,использовать мышьили触摸选择объем)
# Необязательныйиз Зрение元素有:
# symbol: Элемент графика из категории графика.
# symbolSize: Элемент изображения изразмера.
# color: Цвет примитива из.
# colorAlpha: Элементы цвета и прозрачности.
# opacity: примитивныйкиего придатки(нравитьсятекстовая метка)изпрозрачность。
# colorLightness: цвет из легкости,Видеть HSL。
# colorSaturation: цветизполныйистепень,Видеть HSL。
# colorHue: цветизтон,Видеть HSL。
out_of_range: Optional[Sequence] = None,
# графикаиз Ширинастепень,Прямо сейчас长条из Ширинастепень。
item_width: int = 0,
# графикаизвысокийстепень,Прямо сейчас长条извысокийстепень。
item_height: int = 0,
# visualMap компонентыизцвет фона。
background_color: Optional[str] = None,
# visualMap компонентыизрамкацвет。
border_color: Optional[str] = None,
# visualMap Толщина линии границы, единица измерения: пикселей.
border_width: int = 0,
# характерстиль Конфигурацияэлемент,ссылка `series_options.TextStyleOpts`
textstyle_opts: Union[TextStyleOpts, dict, None] = None,
)
class pyecharts.options.TooltipOpts
class TooltipOpts(
# Отображать Компонент инфраструктуры представления li,включать Окно подсказки浮层и axisPointer。
is_show: bool = True,
# Тип триггера. Необязательный:
# 'item': данныеэлементграфика触发,основнойсуществовать График рассеяния,饼картина等无Категорияосьиздиаграммасерединаиспользовать。
# 'axis': координироватьось触发,основнойсуществоватьгистограмма,Линейный график等встречаиспользовать Категорияосьиздиаграммасерединаиспользовать。
# 'none': Ничто не вызывает
trigger: str = "item",
# Окно подсказки触发изсостояние,Необязательный:
# 'mousemove': Вызывается при перемещении мыши.
# 'click': Срабатывает при нажатии мыши.
# 'mousemove|click': Срабатывает, когда мышь перемещается или щелкает одновременно.
# 'none': Нетсуществовать 'mousemove' или 'click' срабатывает, когда
trigger_on: str = "mousemove|click",
# Тип индикатора. Необязательный
# 'line': Индикатор линии
# 'shadow': индикатор тени.
# 'none': нет индикатора
# 'cross':индикатор перекрестия。на самом деледааббревиатура,выражать Включить два ортогональныхизосьиз axisPointer。
axis_pointer_type: str = "line",
# Отображать ли Окно подсказки浮层,по умолчаниюпоказывать。
# Только tooltip триггерное событиеилипоказывать axisPointer 而Нетнуждатьсяпоказыватьсодержаниечас可Конфигурация Долженэлементдля false。
is_show_content: bool = True,
# Следует ли отображать содержимое окна подсказки навсегда?
# по умолчанию Состояние Внизсуществовать移出可触发Окно подсказки区域后один定час间后隐藏,установлен на true Это может гарантировать, что содержимое окна подсказки всегда отображается.
is_always_show_content: bool = False,
# 浮层показыватьиз Задерживать,единицадля ms,по умолчанию Нет Задерживать,также Нет建议настраивать。
show_delay: Numeric = 0,
# 浮层隐藏из Задерживать,единицадля ms,существовать alwaysShowContent для true изкогда无效。
hide_delay: Numeric = 100,
# Окно подсказки浮层из Расположение,по умолчанию Нетнастраиватьчас Расположениевстреча跟随鼠标из Расположение。
# 1. Конфигурация через массив:
# абсолютный Расположение,相дляконтейнерлевыйсторона 10px, начальствосторона 10 px ===> position: [10, 10]
# относительно Расположение,местосуществоватьконтейнер正середина间 ===> position: ['50%', '50%']
# 2. Настройка через функцию обратного вызова
# 3. Фиксированная конфигурация параметров: «внутри», «сверху», «слева», «справа», «снизу».
position: Union[str, Sequence, JSFunc] = None,
# Этикеткасодержание Формат器,поддерживать Строковый шаблониперезвонитьфункциядве формы,Строковый шаблониперезвонитьфункциявозвращатьсяиз Строкиподдерживатьиспользовать \n Разрыв строки.
# Строковый шаблон Переменные шаблона:
# {a}: название серии.
# {b}: имя данных.
# {c}: значение данных.
# {@xxx}:данныесерединаимядля 'xxx' из维степеньизценить,нравиться {@product} выражатьимядля 'product'` из维степеньизценить。
# {@[n]}: измерения в данных. n изценить,нравиться{@[3]}` выражать维степень 3 изценить,от 0 Начни считать.
# Пример: форматтер: '{b}: {@score}'
#
# Функция обратного вызова, формат функции обратного вызова:
# (params: Object|Array) => string
# параметр params да formatter нуждатьсяиз单个данные集。Форматнравиться Вниз:
# {
# componentType: 'series',
# // Тип серии
# seriesType: string,
# // рядсуществоватьвходящийиз option.series серединаиз index
# seriesIndex: number,
# // Название серии
# seriesName: string,
# // Имя данных, имя категории
# name: string,
# // данныесуществоватьвходящийиз data множествосерединаиз index
# dataIndex: number,
# // входящийиз原始данныеэлемент
# data: Object,
# // входящийизданныеценить
# value: number|Array,
# // данныеграфикаизцвет
# color: string,
# }
formatter: Optional[str] = None,
# Окно подсказки浮层изфонцвет。
background_color: Optional[str] = None,
# Окно подсказки浮层израмкацвет。
border_color: Optional[str] = None,
# Окно подсказки浮层израмка Ширина。
border_width: Numeric = 0,
# характерстиль Конфигурацияэлемент,ссылка `series_options.TextStyleOpts`
textstyle_opts: TextStyleOpts = TextStyleOpts(font_size=14),
)
class pyecharts.option.AxisLineOpts
class AxisLineOpts(
# Отображать ликоординироватьосьось Проволока。
is_show: bool = True,
# X осьили Y осьизось Проволокаданетсуществовать另один个осьиз 0 刻степеньначальство,Только有существовать另один个осьдлячисловое значениеось且包含 0 刻степеньдействительный.
is_on_zero: bool = True,
# когда有параосьчас,可киспользоватьэтотсвойство手动обозначение,существовать哪个осьиз 0 刻степеньначальство。
on_zero_axis_index: int = 0,
# ось Проволока两сторонаизстрелка。可кданить,выражатьоба концаиспользоватьтакой жеизстрелка;или长степеньдля 2 изнитьмножество,соответственновыражатьоба концаизстрелка。
# По умолчанию стрелки не отображаются, т.е. 'none'。
# оба конца都показыватьстрелка可кустановлен на 'arrow'。
# Толькосуществовать末конецпоказыватьстрелка可кустановлен на ['none', 'arrow']。
symbol: Optional[str] = None,
# координироватьось Проволокастиль Конфигурацияэлемент,ссылка `series_optionsLineStyleOpts`
linestyle_opts: Union[LineStyleOpts, dict, None] = None,
)
class pyecharts.option.AxisTickOpts
class AxisTickOpts(
# Отображать ликоординироватьось刻степень。
is_show: bool = True,
# на оси категорийсуществовать boundaryGap для true изкогдаэффективный,可к保证刻степень Проволокаи Этикетка Выравнивание。
is_align_with_label: bool = False,
# координироватьось刻степеньданет朝内,по умолчаниюнаружу。
is_inside: bool = False,
# координироватьось刻степеньиздлина.
length: Optional[Numeric] = None,
# координироватьось Проволокастиль Конфигурацияэлемент,ссылка `series_optionsLineStyleOpts`
linestyle_opts: Union[LineStyleOpts, dict, None] = None,
)
class pyecharts.option.AxisPointerOpts
class AxisPointerOpts(
# Индикаторы осей отображаются по умолчанию.
is_show: bool = True,
# Неттакой жеосьиз axisPointer 可к Связь,существоватьэтотвнутринастраивать。Связьвыражатьось能такой же步один起活动。
# ось依据他们из axisPointer когда前переписыватьсяизценить来Связь。
# link даодин个множество,вкаждыйэлементвыражатьодин个 link группа, один group серединаизкоординироватьось互相Связь。
# Конкретный метод использования можно найти по адресу: https://www.echartsjs.com/option.html#axisPointer.link.
link: Sequence[dict] = None,
# Тип индикатора.
# Необязательныйпараметрнравиться Вниз,по умолчаниюдля 'line'
# 'line' линейный индикатор
# 'shadow' теневой индикатор
# 'none' Нет индикатора
type_: str = "line",
# координироватьосьобратитесь к示器изтекст Этикетка,координироватьось Этикетка Конфигурацияэлемент,ссылка `series_options.LabelOpts`
label: Union[LabelOpts, dict, None] = None,
# координироватьось Проволокастиль Конфигурацияэлемент,ссылка `series_optionsLineStyleOpts`
linestyle_opts: Union[LineStyleOpts, dict, None] = None,
)
class pyecharts.options.AxisOpts
class AxisOpts(
# Тип оси. Необязательный:
# 'value': Ось значений, подходящая для непрерывных данных.
# 'category': Категорияось,适использовать于离散из Категорияданные,для Должентипчас必须通过 data настраивать Категорияданные。
# 'time': час间ось,适использовать于连续изчас序данные,ичисловое значениеось相Сравниватьчас间осьприносить有час间из Формат化,существовать刻степень计算начальствотакже有所Неттакой же,
# примернравитьсявстреча根据跨степеньизобъем来Решатьиспользоватьлуна,Неделя,日возвращатьсяда小часобъемиз刻степень。
# 'log' 对числоось.适использовать于对числоданные。
type_: Optional[str] = None,
# Имя оси.
name: Optional[str] = None,
# Отображать ли x ось.
is_show: bool = True,
# Толькосуществоватьчисловое значениеосьсередина(type: «значение») допустимо.
# данетда脱离 0 ценить Сравниватьпример。настраиватьстановиться true 后координировать刻степень Нетвстречасила包含ноль刻степень。существоватьпарачисловое значениеосьиз График рассеяниясередина Сравнивать较有использовать。
# существоватьнастраивать min и max После этого этот элемент конфигурации станет недействительным.
is_scale: bool = False,
# данет反向координироватьось.
is_inverse: bool = False,
# Положение отображения названия оси. Необязательный:
# 'start', 'middle' или 'center','end'
name_location: str = "end",
# координироватьосьимясказатьиось Проволокамеждуизрасстояние。
name_gap: Numeric = 15,
# Имя оси координат, вращение, значение угла.
name_rotate: Optional[Numeric] = None,
# силанастраиватькоординироватьосьточка割интервал。
# потому чтодля splitNumber да Оцениватьизценить,Фактически рассчитывается по стратегиииз刻степень可能无法达приезжатьхочуиз Эффект,
# В это время вы можете использовать interval Сотрудничать min、max Обычно не рекомендуется принудительно делить масштаб.
# 无法существоватьна оси категорийиспользовать。существоватьчас间ось(type: 'time')серединануждаться传час间戳,существовать Логарифмическая ось(type: 'log') необходимо передать значение индекса.
interval: Optional[Numeric] = None,
# x ось所существоватьиз grid изиндекс,по умолчанию位于первый grid。
grid_index: Numeric = 0,
# x осьиз Расположение。Необязательный:
# 'top', 'bottom'
# по умолчанию grid серединаизпервый x осьсуществовать grid из Внизнаправление('bottom'),второй x сначала вид оси x осьиз Расположение放существовать另одинсторона。
position: Optional[str] = None,
# Y ось相дляпо умолчанию Расположениеизкомпенсировать,существоватьтакой жеиз position Есть несколько начальств Y осьизкогда有использовать。
offset: Numeric = 0,
# координироватьосьизточка割частьчисло,нужно вниманиеиздаэтотточка割частьчисло Толькода个Оцениватьценить,最后实际показыватьизчастьнесколько встречсуществоватьэтот基础начальство根据точка割后координироватьось刻степеньпоказыватьиз易读程степеньделать调整。
# по умолчаниюценитьда 5
split_number: Numeric = 5,
# координироватьось两сторона留白策略,Категорияосьи Нет Категорияосьизнастраиватьи表现Нетодин样。
# на оси категорий boundaryGap 可к Конфигурациядля true и false。по умолчаниюдля true,этоткогда刻степень Толькодаделатьдляточка隔Проволока,
# Этикеткаиданные点都встречасуществовать两个刻степеньмеждуизприносить(band)середина间。
# Нет Категорияось,включить время,числовое значение,Логарифмическая ось,boundaryGapдаодин个两个ценитьизмножество,соответственновыражатьданные最小ценитьи最大ценитьиз延伸объем
# 可кпрямойнастраиватьчисловое значениеилиотносительноизпроцент,существоватьнастраивать min и max Недействителен позже. Пример: borderGap: ['20%', '20%']
boundary_gap: Union[str, bool, None] = None,
# Минимальное значение масштаба оси координат.
# 可кнастраиватьстановитьсяособенныйценить 'dataMin',此час Выбиратьданныесуществовать Долженосьначальствоиз最小ценитьделатьдля最小刻степень。
# Нетнастраиватьчасвстречаавтоматический计算最小ценить保证координироватьось刻степеньиз均匀точка布。
# существоватьна оси категорий,также可кустановлен на Категорияиз序число(нравиться Категорияось data: ['Класс А', «Класс Б», «Класс С»] средний, порядковый 2 выражать «Класс С».
# также可кустановлен на负число,нравиться -3)。
min_: Union[Numeric, str, None] = None,
# Максимальное значение масштаба оси координат.
# 可кнастраиватьстановитьсяособенныйценить 'dataMax',此час Выбиратьданныесуществовать Долженосьначальствоиз最大ценитьделатьдля最大刻степень。
# Нетнастраиватьчасвстречаавтоматический计算最大ценить保证координироватьось刻степеньиз均匀точка布。
# существоватьна оси категорий,также可кустановлен на Категорияиз序число(нравиться Категорияось data: ['Класс А', «Класс Б», «Класс С»] средний, порядковый 2 выражать «Класс С».
# также可кустановлен на负число,нравиться -3)。
max_: Union[Numeric, str, None] = None,
# автоматический计算изкоординироватьось最小интервалразмер。
# примернравиться可кнастраиватьстановиться1保证координироватьосьточка割刻степеньпоказыватьстановиться整число。
# по умолчаниюценитьда 0
min_interval: Numeric = 0,
# автоматический计算изкоординироватьось最大интервалразмер。
# примернравиться,существоватьчас间ось((type: 'time'))可кнастраиватьстановиться 3600 * 24 * 1000 保证координироватьосьточка割刻степень最大дляодин день。
max_interval: Optional[Numeric] = None,
# координироватьось刻степень Проволока Конфигурацияэлемент,ссылка `global_options.AxisLineOpts`
axisline_opts: Union[AxisLineOpts, dict, None] = None,
# Элементы конфигурации масштаба оси,ссылка `global_options.AxisTickOpts`
axistick_opts: Union[AxisTickOpts, dict, None] = None,
# координироватьось Этикетка Конфигурацияэлемент,ссылка `series_options.LabelOpts`
axislabel_opts: Union[LabelOpts, dict, None] = None,
# Элементы конфигурации индикатора оси,ссылка `global_options.AxisPointerOpts`
axispointer_opts: Union[AxisPointerOpts, dict, None] = None,
# координироватьосьимясказатьизхарактерстиль,ссылка `series_options.TextStyleOpts`
name_textstyle_opts: Union[TextStyleOpts, dict, None] = None,
# точка割区域Конфигурацияэлемент,ссылка `series_options.SplitAreaOpts`
splitarea_opts: Union[SplitAreaOpts, dict, None] = None,
# точка割Проволока Конфигурацияэлемент,ссылка `series_options.SplitLineOpts`
splitline_opts: Union[SplitLineOpts, dict] = SplitLineOpts(),
# координироватьось次刻степень Проволока相关настраивать,ссылка `series_options.MinorTickOpts`
minor_tick_opts: Union[MinorTickOpts, dict, None] = None,
# координироватьосьсуществовать grid 区域серединаиз次точка隔Проволока。次точка割Проволокавстреча Выравнивание次刻степень Проволока minorTick,ссылка `series_options.MinorSplitLineOpts`
minor_split_line_opts: Union[MinorSplitLineOpts, dict, None] = None,
)
class pyecharts.SingleAxisOpts
class SingleAxisOpts(
# Имя оси.
name: Optional[str] = None,
# Максимальное значение масштаба оси координат.
# 可кнастраиватьстановитьсяособенныйценить 'dataMax',此час Выбиратьданныесуществовать Долженосьначальствоиз最大ценитьделатьдля最大刻степень。
# Нетнастраиватьчасвстречаавтоматический计算最大ценить保证координироватьось刻степеньиз均匀точка布。
# существоватьна оси категорий,также可кустановлен на Категорияиз序число(нравиться Категорияось data: ['Класс А', «Класс Б», «Класс С»] средний, порядковый 2 выражать «Класс С».
# также可кустановлен на负число,нравиться -3)。
max_: Union[str, Numeric, None] = None,
# Минимальное значение масштаба оси координат.
# 可кнастраиватьстановитьсяособенныйценить 'dataMin',此час Выбиратьданныесуществовать Долженосьначальствоиз最小ценитьделатьдля最小刻степень。
# Нетнастраиватьчасвстречаавтоматический计算最小ценить保证координироватьось刻степеньиз均匀точка布。
# существоватьна оси категорий,также可кустановлен на Категорияиз序число(нравиться Категорияось data: ['Класс А', «Класс Б», «Класс С»] средний, порядковый 2 выражать «Класс С».
# также可кустановлен на负число,нравиться -3)。
min_: Union[str, Numeric, None] = None,
# single компонентывне контейнералевыйсторонаизрасстояние。
# left изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент,
# Это также может быть 'left', 'center', 'right'。
# если left изценитьдля'left', 'center', 'right',компоненты будут автоматически выровнены в соответствии с соответствующим положением。
pos_left: Optional[str] = None,
# singleкомпонентывне контейнераверносторонаизрасстояние。
# right изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент。
pos_right: Optional[str] = None,
# singleкомпонентывне контейнераначальствосторонаизрасстояние。
# top изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент,
# Это также может быть 'top', 'middle', 'bottom'。
# если top изценитьдля'top', 'middle', 'bottom',компоненты будут автоматически выровнены в соответствии с соответствующим положением。
pos_top: Optional[str] = None,
# singleкомпонентывне контейнера Внизсторонаизрасстояние。
# bottom изценить可кда像 20 Таким образом, конкретное значение пикселя,可кда像 '20%' этот样相дляконтейнервысокий Ширинаизпроцент。
pos_bottom: Optional[str] = None,
# single компонентыиз Ширинастепень。Адаптивный по умолчанию.
width: Optional[str] = None,
# single компонентыизвысокийстепень。Адаптивный по умолчанию.
height: Optional[str] = None,
# осьизк,по умолчаниюуровеньк,可кнастраиватьстановиться 'vertical' Вертикально ориентированный.
orient: Optional[str] = None,
# Тип оси. Необязательный:
# 'value': Ось значений, подходящая для непрерывных данных.
# 'category': Категорияось,适использовать于离散из Категорияданные,для Должентипчас必须通过 data настраивать Категорияданные。
# 'time': час间ось,适использовать于连续изчас序данные,ичисловое значениеось相Сравниватьчас间осьприносить有час间из Формат化,существовать刻степень计算начальствотакже有所Неттакой же,
# примернравитьсявстреча根据跨степеньизобъем来Решатьиспользоватьлуна,Неделя,日возвращатьсяда小часобъемиз刻степень。
# 'log' 对числоось.适использовать于对числоданные。
type_: Optional[str] = None,
)
class pyecharts.GraphicGroup
class GraphicGroup(
# графикаиз Конфигурацияэлемент
graphic_item: Union[GraphicItem, dict, None] = None,
# Согласно его children середина每个графикаэлементарный name свойства для перерисовки
is_diff_children_by_name: bool = False,
# Список дочерних узлов,вэлемент Всеодин个графика元素определение。
# Доступно в настоящее время GraphicText,GraphicImage,GraphicRect
children: Optional[Sequence[BaseGraphic]] = None,
)
class pyecharts.GraphicItem
class GraphicItem(
# id использовать于существоватьвозобновлятьилиудалитьграфика元素часобозначениевозобновлять哪个графика元素,если Нетнуждатьсяиспользовать可к忽略。
id_: Optional[str] = None,
# setOption часобозначениекнига次对Долженграфикаэлементарный操делать行для。Необязательный:
# 'merge':если Уже元素,ноновыйиз Конфигурацияэлементи Ужеиз Выполняется настройка merge。если Нетноновый建。
# 'replace':если Уже元素,Удалить это,новый建元素替代之。
# «удалить»: удалить элементы.
action: str = "merge",
# Кастрюля(position):по умолчаниюценитьда [0, 0]。выражать [横向Кастрюляизрасстояние, 纵向Кастрюляизрасстояние]。вернои Вниздля正ценить。
position: [Sequence, Numeric, None] = None,
# Ротация: по умолчаниюценитьда 0。выражатьвращатьиз弧степеньценить。正ценитьвыражать逆час针вращать。
rotation: Union[Numeric, JSFunc, None] = 0,
# Увеличить(scale):по умолчаниюценитьда [1, 1]。выражать [横向Увеличитьиз倍число, 纵向Увеличитьиз倍число]。
scale: Union[Sequence, Numeric, None] = None,
# origin обозначение Понятновращатьи Увеличитьизсередина心点,по умолчаниюценитьда [0, 0]。
origin: Union[Numeric, Sequence, None] = None,
# Описывает, как позиционировать на основе родительских элементов.
# Родительский элемент даобратитесь к:еслидаэлемент верхнего уровня,Родительский элемент да echarts диаграммаконтейнер。еслида group из подэлемента,родительский элемент Сразуда group элемент.
# ценитьизтип可кда:
# числовое значение:выражать像素ценить。
# процентценить:нравиться '33%',использовать父элементарныйвысокийи此процент计算出финальныйценить。
# Расположение:нравиться 'center':выражатьавтоматический居середина.
# Примечание: слева и right Только один может подействовать.еслиобозначение left или right,но shape внутрииз x、cx Подождите, пока атрибут позиционирования перестанет действовать.
left: Union[Numeric, str, None] = None,
# такой женачальство
right: Union[Numeric, str, None] = None,
# Конфигурация и left и right такой же, Примечание: сверху и bottom Только один может подействовать.
top: Union[Numeric, str, None] = None,
# такой женачальство
bottom: Union[Numeric, str, None] = None,
# Решать此графика元素существовать定位час,самому себеиз包围盒计算Способ。Необязательный:
# 'all':(по умолчанию) выражатьиспользовать自身кидочерний узел в целомиз经过 transform 后из Ограничительная рамка для позиционирования。этот种Способ易于使整体都限制существоватьродительский элементобъемсередина.
# 'raw':выражать仅仅использовать自身(Нетвключать子узел)из Не прошло tranform из Ограничительная рамка для позиционирования。этот种Способ易于содержание超出родительский элементобъемиз定位Способ。
bounding: str = "all",
# z направление向извысокийстепень,Решатькаскадные отношения。
z: Numeric = 0,
# Решать Этот элемент рисует существование, которое canvas 层середина.Уведомление,тем больше canvas Слои будут занимать больше ресурсов.
z_level: Numeric = 0,
# данет Нет响应鼠标кисенсорное событие。
is_silent: bool = False,
# узелданет可见。
is_invisible: bool = False,
# узелданет完全одеяло忽略(既Нетрендеринг,также Нет响应事件)。
is_ignore: bool = False,
# 鼠标悬浮чассуществоватьграфика元素начальствочас鼠标изстильда Что。такой же CSS из cursor。
cursor: str = "pointer",
# графика元素данет可кодеяло拖拽。
is_draggable: bool = False,
# данет渐进式рендеринг。когдаграфика元素过многочас才использовать。
is_progressive: bool = False,
# используется для описания этого group из Ширина。этот Ширина Толькоиспользовать于给子узел定位。
# Прямо сейчас便когда Ширинастепеньдлянольизкогда,子узелтакже可киспользовать left: 'center' 相для父узелуровень居середина.
width: Numeric = 0,
# используется для описания этого group извысокий。этотвысокий Толькоиспользовать于给子узел定位。
# Прямо сейчас便когдавысокийстепеньдлянольизкогда,子узелтакже可киспользовать top: 'middle' 相для父узел垂直居середина.
height: Numeric = 0,
)
class pyecharts.GraphicBasicStyleOpts
class GraphicBasicStyleOpts(
# Цвет заливки.
fill: str = "#000",
# Цвет штриха.
stroke: Optional[str] = None,
# Ширина штриха.
line_width: Numeric = 0,
# Ширина тени.
shadow_blur: Optional[Numeric] = None,
# тень X смещение направления.
shadow_offset_x: Optional[Numeric] = None,
# тень Y смещение направления.
shadow_offset_y: Optional[Numeric] = None,
# теньцвет。
shadow_color: Optional[str] = None,
)
class pyecharts.GraphicShapeOpts
class GraphicShapeOpts(
# графикаэлементарныйлевыйначальстворогсуществовать父узелсистема координат(к父узеллевыйначальстворогдляисточник)серединаизабсциссаценить。
pos_x: Numeric = 0,
# графикаэлементарныйлевыйначальстворогсуществовать父узелсистема координат(к父узеллевыйначальстворогдляисточник)серединаизабсциссаценить。
pos_y: Numeric = 0,
# графикаэлементарный Ширинастепень。
width: Numeric = 0,
# графикаэлементарныйвысокийстепень。
height: Numeric = 0,
# 可киспользовать于настраивать圆рог矩形。r: [r1, r2, r3, r4], левыйначальство、верноначальство、верно Вниз、левый Внизрогиз Радиус в свою очередьдляr1、r2、r3、r4。
# 可каббревиатура,примернравиться:
# r Аббревиатура для 1 Эквивалентно [1, 1, 1, 1]
# r Аббревиатура для [1] Эквивалентно [1, 1, 1, 1]
# r Аббревиатура для [1, 2] Эквивалентно [1, 2, 1, 2]
# r Аббревиатура для [1, 2, 3]1 Эквивалентно[1, 2, 3, 2]`
r: Union[Sequence, Numeric, None] = None,
)
class pyecharts.GraphicImage
class GraphicImage(
# графикаиз Конфигурацияэлемент,ссылка GraphicItem
graphic_item: Union[GraphicItem, dict, None] = None,
# графикакартинастильиз Конфигурацияэлемент
graphic_imagestyle_opts: Union[GraphicImageStyleOpts, dict, None] = None,
)
class pyecharts.GraphicImageStyleOpts
class GraphicImageStyleOpts(
# картинаизсодержание,可кдакартинаиз URL。
image: Optional[str] = None,
# графикаэлементарныйлевыйначальстворогсуществовать父узелсистема координат(к父узеллевыйначальстворогдляисточник)серединаизабсциссаценить。
pos_x: Numeric = 0,
# графикаэлементарныйлевыйначальстворогсуществовать父узелсистема координат(к父узеллевыйначальстворогдляисточник)серединаизвертикальная координатаценить。
pos_y: Numeric = 0,
# графикаэлементарный Ширинастепень。
width: Numeric = 0,
# графикаэлементарныйвысокийстепень。
height: Numeric = 0,
# прозрачность 0 приезжать 1。1 то есть отображать полностью
opacity: Numeric = 1,
# графика基книга Конфигурацияэлемент,ссылка GraphicBasicStyleOpts
graphic_basicstyle_opts: Union[GraphicBasicStyleOpts, dict, None] = None,
)
class pyecharts.GraphicText
class GraphText(
# графикаиз Конфигурацияэлемент,ссылка GraphicItem
graphic_item: Union[GraphicItem, dict, None] = None,
# графикатекстстильиз Конфигурацияэлемент
graphic_textstyle_opts: Union[GraphicTextStyleOpts, dict, None] = None,
)
class pyecharts.GraphicTextStyleOpts
class GraphicTextStyleOpts(
# Текст текстового блока. можно использовать \n 来Разрыв строки.
text: Optional[JSFunc] = None,
# графикаэлементарныйлевыйначальстворогсуществовать父узелсистема координат(к父узеллевыйначальстворогдляисточник)серединаизабсциссаценить。
pos_x: Numeric = 0,
# графикаэлементарныйлевыйначальстворогсуществовать父узелсистема координат(к父узеллевыйначальстворогдляисточник)серединаизвертикальная координатаценить。
pos_y: Numeric = 0,
# шрифтразмер、Тип шрифта、Толщина、шрифтстиль。
# примернравиться:
# // size | family
# font: '2em "STHeiti", sans-serif'
# // style | weight | size | family
# font: 'italic bolder 16px cursive'
# // weight | size | family
# font: 'bolder 2em "Microsoft YaHei", sans-serif'
font: Optional[str] = None,
# Горизонтальное выравнивание, значение: «слева», 'center', 'right'。по умолчаниюценитьдля:'left'
# еслидля 'left',выражатьтекст最левыйконецсуществовать x ценитьначальство。еслидля 'right',выражатьтекст最верноконецсуществовать x ценитьначальство。
text_align: str = "left",
# Вертикальное выравнивание, значение: «сверху», 'middle', 'bottom'。по умолчаниюценитьдля:'None'
text_vertical_align: Optional[str] = None,
# графика基книга Конфигурацияэлемент,ссылка GraphicBasicStyleOpts
graphic_basicstyle_opts: Union[GraphicBasicStyleOpts, dict, None] = None,
)
class pyecharts.GraphicRect
class GraphicRect(
# графикаиз Конфигурацияэлемент,ссылка GraphicItem
graphic_item: Union[GraphicItem, dict, None] = None,
# графикаизформа Конфигурацияэлемент,ссылка GraphicShapeOpts
graphic_shape_opts: Union[GraphicShapeOpts, dict, None] = None,
# графика基книга Конфигурацияэлемент,ссылка GraphicBasicStyleOpts
graphic_basicstyle_opts: Union[GraphicBasicStyleOpts, dict, None] = None,
)
class pyecharts.PolarOpts
class PolarOpts(
# столбсистема координатизсередина心(центр круга)координировать,множествоиз第одинэлементдаабсцисса,第二элементдавертикальная координата。
# поддерживатьнастраиватьстановитьсяпроцент,настраиватьстановитьсяпроцентчас第одинэлементда相дляконтейнер Ширинастепень,第二элементда相дляконтейнервысокийстепень。
center: Optional[Sequence] = None,
# столбсистема координатизрадиус。可кдлянравиться Внизтип:
# number:прямойобозначение外радиусценить。
# string:примернравиться,'20%',выражать外радиусдля Размер области просмотра(контейнервысокий Ширинасередина较小одинэлемент)из 20% длина.
# Array.<number|string>:множествоиз第одинэлементда内радиус,第二элементда外радиус。каждыйэлемент遵отначальствоописывать number string изописывать。
radius: Optional[Union[Sequence, str]] = None,
# книгасистема координатидентификацияиз tooltip настраивать。ссылка `global_options.TooltipOpts`
tooltip_opts: TooltipOpts = None,
)
class pyecharts.options.DatasetTransformOpts
class DatasetTransformOpts(
# Тип трансформации
# filter,sort,Echarts функция
type_: str = "filter",
# Конкретные элементы конфигурации преобразования
config: Optional[dict] = None,
# debug Шаблон будет передан через браузер console Распечатать.
is_print: bool = False,
)
class pyecharts.options.ItemStyleOpts
class ItemStyleOpts(
# графикаизцвет。
# Цвет можно использовать RGB выражать,Сравниватьнравиться 'rgb(128, 128, 128)',еслихочу加начальство alpha рядвыражать Нетпрозрачность,# 可киспользовать RGBA,Сравниватьнравиться 'rgba(128, 128, 128, 0.5)',Также доступен шестнадцатеричный формат.,Сравниватьнравиться '#ccc'。
# Помимо сплошных цветов, цвета также представляют собой градиентные цвета и текстурные заливки.
#
# линейный градиент,первые четырепараметрсоответственнода x0, y0, x2, y2, Диапазон от 0 - 1,Эквивалентносуществоватьграфика包围盒серединаизпроцент,
# если globalCoord для `true`,но Должен四个ценитьдаабсолютныйиз像素Расположение
# color: {
# type: 'linear',
# x: 0,
# y: 0,
# x2: 0,
# y2: 1,
# colorStops: [{
# offset: 0, color: 'red' // 0% 处изцвет
# }, {
# offset: 1, color: 'blue' // 100% 处изцвет
# }],
# global: false // 缺省для false
# }
#
# радиальный градиент,первые трипараметрсоответственнодацентр круга x, y ирадиус, значение такое же, как у линейного градиента
# color: {
# type: 'radial',
# x: 0.5,
# y: 0.5,
# r: 0.5,
# colorStops: [{
# offset: 0, color: 'red' // 0% 处изцвет
# }, {
# offset: 1, color: 'blue' // 100% 处изцвет
# }],
# global: false // 缺省для false
# }
#
# текстурная заливка
# color: {
# image: imageDom, // поддерживатьдля HTMLImageElement, HTMLCanvasElement,Нетподдерживатьпутьнить
# repeat: 'repeat' // данет Плитка, 可кда 'repeat-x', 'repeat-y', 'no-repeat'
# }
color: Optional[str] = None,
# отрицательная линия графикаизцвет。
color0: Optional[str] = None,
# графикаиз描сторонацвет。поддерживатьизцвет Форматтакой же color,Нетподдерживатьперезвонитьфункция。
border_color: Optional[str] = None,
# отрицательная линия графикаиз描сторонацвет。
border_color0: Optional[str] = None,
# 描сторона Ширинастепень,по умолчанию Нет描сторона。
border_width: Optional[Numeric] = None,
# поддерживать 'dashed', 'dotted'。
border_type: Optional[str] = None,
# графикапрозрачность。поддерживатьот 0 приезжать 1 изчисло,для 0 График не рисуется.
opacity: Optional[Numeric] = None,
# 区域изцвет。
area_color: Optional[str] = None,
)
class pyecharts.options.TextStyleOpts
class TextStyleOpts(
# Цвет текста.
color: Optional[str] = None,
# характершрифтизстиль
# Необязательно: «нормальный», «курсив», «наклонный».
font_style: Optional[str] = None,
# 主заголовокхарактершрифтиз Толщина,Необязательный:
# 'normal','bold','bolder','lighter'
font_weight: Optional[str] = None,
# характеризшрифтряд
# возвращаться可кда 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...
font_family: Optional[str] = None,
# характеризшрифтразмер
font_size: Optional[Numeric] = None,
# характеруровень Выравнивание Способ,по умолчаниюавтоматический
align: Optional[str] = None,
# характер垂直Выравнивание Способ,по умолчаниюавтоматический
vertical_align: Optional[str] = None,
# высота строки
line_height: Optional[str] = None,
# характер块цвет фона。可кдапрямойизцветценить,примернравиться:'#123234', 'red', 'rgba(0,23,11,0.3)'
background_color: Optional[str] = None,
# Цвет границы текстового блока
border_color: Optional[str] = None,
# ширина границы текстового блока
border_width: Optional[Numeric] = None,
# характер块из圆рог
border_radius: Union[Numeric, Sequence, None] = None,
# характер块из内допуск
# примернравиться padding: [3, 4, 5, 6]:выражать [начальство, верно, Вниз, левый] издопуск
# примернравиться padding: 4:выражать padding: [4, 4, 4, 4]
# примернравиться padding: [3, 4]:выражать padding: [3, 4, 3, 4]
padding: Union[Numeric, Sequence, None] = None,
# характер块изфонтеньцвет
shadow_color: Optional[str] = None,
# характер块изфонтень长степень
shadow_blur: Optional[Numeric] = None,
# характер块из Ширинастепень
width: Optional[str] = None,
# характер块извысокийстепень
height: Optional[str] = None,
# существовать rich внутри面,可к Настроить富текстстиль。利использовать富текстстиль,可ксуществовать Этикеткасередина做出Нет常丰富из Эффект
# 具体Конфигурация可кссылкаодин Вниз https://www.echartsjs.com/tutorial.html#%E5%AF%8C%E6%96%87%E6%9C%AC%E6%A0%87%E7%AD%BE
rich: Optional[dict] = None,
)
class pyecharts.options.LabelOpts
class LabelOpts(
# Отображать ли Этикетка。
is_show: bool = True,
# Этикеткаиз Расположение。Необязательный
# 'top','left','right','bottom','inside','insideLeft','insideRight'
# 'insideTop','insideBottom', 'insideTopLeft','insideBottomLeft'
# 'insideTopRight','insideBottomRight'
position: Union[str, Sequence] = "top",
# характеризцвет。
# еслиустановлен на 'auto',нодля Зрение映射得приезжатьизцвет,нравитьсяряд色。
color: Optional[str] = None,
# расстояниеграфикаэлементарныйрасстояние。когда position для字符описыватьценить(нравиться «top», «insideRight») допустимо.
distance: Union[Numeric, Sequence, None] = None,
# характеризшрифтразмер
font_size: Numeric = 12,
# характершрифтизстиль,Необязательный:
# 'normal','italic','oblique'
font_style: Optional[str] = None,
# характершрифтиз Толщина,Необязательный:
# 'normal','bold','bolder','lighter'
font_weight: Optional[str] = None,
# характеризшрифтряд
# возвращаться可кда 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...
font_family: Optional[str] = None,
# Ротация этикеток. от -90 степеньприезжать 90 степень。正ценитьда逆час针。
rotate: Optional[Numeric] = None,
# 刻степень Этикеткаиось Проволокамеждуизрасстояние。
margin: Optional[Numeric] = 8,
# координироватьось刻степень Этикеткаизпоказыватьинтервал,существоватьна оси категорийэффективный。
# по умолчаниювстреча采использовать Этикетка Нет重叠из策略интервалпоказывать Этикетка。
# 可кнастраиватьстановиться 0 силапоказыватьвсе Этикетка。
# еслиустановлен на 1,выражать『隔один个Этикеткапоказыватьодин个Этикетка』,еслиценитьдля 2,выражать隔两个Этикеткапоказыватьодин个Этикетка,к此类推。
# 可киспользоватьчисловое значениевыражатьинтервализданные,такжеможет пройтиперезвонитьфункцияконтроль。перезвонитьфункция Форматнравиться Вниз:
# (index:number, value: string) => boolean
# первыйпараметрда Категорияиз index,второйценитьда Категорияимясказать,еслиперепрыгниновозвращаться false。
interval: Union[Numeric, str, None]= None,
# характеруровень Выравнивание Способ,по умолчаниюавтоматический。Необязательный:
# 'left','center','верно'
Horizontal_align: Необязательный[str] = Нет,
# Вертикальное выравнивание текста,по умолчаниюавтоматический。Необязательный:
# 'top','middle','нижний'
вертикальное_выравнивание: Необязательный[str] = Нет,
# Средство форматирования содержимого тегов,поддерживать Строковый шаблониперезвонитьфункциядве формы,Строковый шаблониперезвонитьфункциявозвращатьсяиз Строкиподдерживатьиспользовать \n Разрыв строки.
# Переменные шаблона {a}, {b},{c},{d},{e},соответственновыражатьрядимя,Имя данных,данныеценить等。
# существовать trigger для 'axis' изкогда,встреча有много个рядизданные,此часможет пройти {a0}, {a1}, {a2} этот种后面加индексиз Способвыражатьрядизиндекс。
# Неттакой жедиаграмматип Внизиз {a},{b},{c},{d} Смысл другой. Среди них переменная {a}, {b}, {c}, {d}существовать Неттакой жедиаграмматип Вниз代表данные含义для:
# Линейная (областная) диаграмма, столбчатая (столбиковая) диаграмма, K-линейная диаграмма : {a}(Название серии),{b} (значение категории),{c}(числовое значение), {d} (нет)
# График рассеяния (пузырьковый график) : {a}(Название серии),{b}(Имя данныхсказать),{c}(числовое значениемножество), {d} (нет)
# карта : {a}(Название серии),{b} (название области),{c} (объединить числовое значение), {d} (нет)
# Круговые диаграммы, информационные панели, воронкообразные диаграммы: {a}(Название серии),{b} (имя элемента данных),{c}(числовое значение), {d} (в процентах)
# Пример: форматтер: '{b}: {@score}'
#
# Функция обратного вызова, формат функции обратного вызова:
# (params: Object|Array) => string
# параметр params да formatter нуждатьсяиз单个данные集。Форматнравиться Вниз:
# {
# componentType: 'series',
# // Тип серии
# seriesType: string,
# // рядсуществоватьвходящийиз option.series серединаиз index
# seriesIndex: number,
# // Название серии
# seriesName: string,
# // Имя данных, имя категории
# name: string,
# // данныесуществоватьвходящийиз data множествосерединаиз index
# dataIndex: number,
# // входящийиз原始данныеэлемент
# data: Object,
# // входящийизданныеценить
# value: number|Array,
# // данныеграфикаизцвет
# color: string,
# }
formatter: Optional[str] = None,
# существовать rich внутри面,可к Настроить富текстстиль。利использовать富текстстиль,可ксуществовать Этикеткасередина做出Нет常丰富из Эффект
# 具体Конфигурация可кссылкаодин Вниз https://www.echartsjs.com/tutorial.html#%E5%AF%8C%E6%96%87%E6%9C%AC%E6%A0%87%E7%AD%BE
rich: Optional[dict] = None,
)
class pyecharts.options.LineStyleOpts
class LineStyleOpts(
# Отображать ли
is_show: bool = True,
# ширина линии.
width: Numeric = 1,
# графикапрозрачность。поддерживатьот 0 приезжать 1 изчисло,для 0 График не рисуется.
opacity: Numeric = 1,
# Проволокаиз弯曲степень,0 выражать完全Нет弯曲
curve: Numeric = 0,
# Проволокаизтип。Необязательный:
# 'solid', 'dashed', 'dotted'
type_: str = "solid",
# Проволокаизцвет。
# Цвет можно использовать RGB выражать,Сравниватьнравиться 'rgb(128, 128, 128)',еслихочу加начальство alpha рядвыражать Нетпрозрачность,# 可киспользовать RGBA,Сравниватьнравиться 'rgba(128, 128, 128, 0.5)',Также доступен шестнадцатеричный формат.,Сравниватьнравиться '#ccc'。
# Помимо сплошных цветов, цвета также представляют собой градиентные цвета и текстурные заливки.
#
# линейный градиент,первые четырепараметрсоответственнода x0, y0, x2, y2, Диапазон от 0 - 1,Эквивалентносуществоватьграфика包围盒серединаизпроцент,
# если globalCoord для `true`,но Должен四个ценитьдаабсолютныйиз像素Расположение
# color: {
# type: 'linear',
# x: 0,
# y: 0,
# x2: 0,
# y2: 1,
# colorStops: [{
# offset: 0, color: 'red' // 0% 处изцвет
# }, {
# offset: 1, color: 'blue' // 100% 处изцвет
# }],
# global: false // 缺省для false
# }
#
# радиальный градиент,первые трипараметрсоответственнодацентр круга x, y ирадиус, значение такое же, как у линейного градиента
# color: {
# type: 'radial',
# x: 0.5,
# y: 0.5,
# r: 0.5,
# colorStops: [{
# offset: 0, color: 'red' // 0% 处изцвет
# }, {
# offset: 1, color: 'blue' // 100% 处изцвет
# }],
# global: false // 缺省для false
# }
#
# текстурная заливка
# color: {
# image: imageDom, // поддерживатьдля HTMLImageElement, HTMLCanvasElement,Нетподдерживатьпутьнить
# repeat: 'repeat' // данет Плитка, 可кда 'repeat-x', 'repeat-y', 'no-repeat'
# }
color: Union[str, Sequence, None] = None,
)
class pyecharts.options.Lines3DEffectOpts
class Line3DEffectOpts(
# Отображать литрейл спецэффекты,по умолчанию Нетпоказывать。
is_show: bool = True,
# Эффекты следаизцикл。
period: Numeric = 4,
# Отслеживать эффектыиздвижущаяся анимацияданетда固定速степень,единица按三维нулевой间изразмер
# установлен на Нет null изценить后встреча忽略 period Элементы конфигурации.
constant_speed: Optional[Numeric] = None,
# будитьиз Ширинастепень。
trail_width: Numeric = 4,
# будитьиз长степень,Диапазон от 0 приезжать 1,для Проволока条长степеньизпроцент。
trail_length: Numeric = 0.1,
# будитьизцвет,по умолчанию跟Проволока条цветтакой же。
trail_color: Optional[str] = None,
# будитьиз Нетпрозрачность,по умолчанию跟Проволока条Нетпрозрачностьтакой же。
trail_opacity: Optional[Numeric] = None,
)
class pyecharts.options.SplitLineOpts
class SplitLineOpts(
# Отображать литочка割Проволока
is_show: bool = False,
# Проволокастиль Конфигурацияэлемент,ссылка `series_options.SplitLineOpts`
linestyle_opts: LineStyleOpts = LineStyleOpts()
)
class pyecharts.options.MarkPointItem
class MarkPointItem(
# Название ярлыка.
name: Optional[str] = None,
# особенныйизотметкатип,использовать于отметка最大ценить最小ценить等。Необязательный:
# 'min' максимальное значение.
# 'max' максимальное значение.
# 'average' среднее значение.
type_: Optional[str] = None,
# существоватьиспользовать type часэффективный,использовать于обозначениесуществовать哪个维степеньначальствообозначение最大ценить最小ценить,可кда
# 0(xAxis, radiusAxis),
# 1(yAxis, angleAxis),по умолчаниюиспользоватьпервыйчисловое значениеось所существоватьиз维степень。
value_index: Optional[Numeric] = None,
# существоватьиспользовать type часэффективный,использовать于обозначениесуществовать哪个维степеньначальствообозначение最大ценить最小ценить。этот可кда维степеньизпрямойимясказать,
# примернравиться Линейный графикчас可кда x、угол и т. д., подсвечник картиначас可кда open、close Равные имена измерений.
value_dim: Optional[str] = None,
# отметкаизкоординировать。координировать Формат视рядизсистема координат Зависит от,可кдапрямой уголсистема координатначальствоиз x, y,
# Это также может бытьстолбсистема координатначальствоиз radius, angle。примернравиться [121, 2323]、['aa', 998]。
coord: Optional[Sequence] = None,
# относительноконтейнериз屏幕 x Координаты, единица пиксель.
x: Optional[Numeric] = None,
# относительноконтейнериз屏幕 y Координаты, единица пиксель.
y: Optional[Numeric] = None,
# Значение метки можно опустить.
value: Optional[Numeric] = None,
# отметкаизграфика。
# ECharts Доступные типы разметки включают в себя 'circle', 'rect', 'roundRect', 'triangle',
# 'diamond', 'pin', 'arrow', 'none'
# может пройти 'image://url' установлен на картинках,в URL длякартинаиз Связь,или dataURI。
symbol: Optional[str] = None,
# Отметить изразмер,可кнастраиватьстановиться诸нравиться 10 этот样单одинизчисло,также可киспользоватьмножествоточка开выражать Ширинаивысокий,
# примернравиться [20, 10] выражатьотметка Ширинадля 20,высокийдля 10。
symbol_size: Union[Numeric, Sequence] = None,
# отметка点стиль Конфигурацияэлемент,ссылка `series_options.ItemStyleOpts`
itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,
)
class pyecharts.options.MarkPointOpts
classMarkPointOpts(
# Данные маркерной точки,ссылка `series_options.MarkPointItem`
data: Sequence[Union[MarkPointItem, dict]] = None,
# отметкаизграфика。
# ECharts Доступные типы разметки включают в себя 'circle', 'rect', 'roundRect', 'triangle',
# 'diamond', 'pin', 'arrow', 'none'
# может пройти 'image://url' установлен на картинках,в URL длякартинаиз Связь,или dataURI。
symbol: Optional[str] = None,
# Отметить изразмер,可кнастраиватьстановиться诸нравиться 10 этот样单одинизчисло,также可киспользоватьмножествоточка开выражать Ширинаивысокий,
# примернравиться [20, 10] выражатьотметка Ширинадля 20,высокийдля 10。
# еслинуждаться每个данныеизграфикаразмер Нетодин样,可кустановлен нанравиться Вниз Форматизперезвонитьфункция:
# (value: Array|number, params: Object) => number|Array
# впервыйпараметр value для data серединаизданныеценить。второйпараметр params дадругойизданныеэлементпараметр。
symbol_size: Union[None, Numeric] = None,
# Этикетка Конфигурацияэлемент,ссылка `series_options.LabelOpts`
label_opts: LabelOpts = LabelOpts(position="inside", color="#fff"),
)
class pyecharts.options.MarkLineItem
class MarkLineItem(
# Название ярлыка.
name: Optional[str] = None,
# особенныйизотметкатип,использовать于отметка最大ценить最小ценить等。Необязательный:
# 'min' максимальное значение.
# 'max' максимальное значение.
# 'average' среднее значение.
type_: Optional[str] = None,
# относительноконтейнериз屏幕 x Координаты, единица пиксель.
x: Union[str, Numeric, None] = None,
# x Координаты данных.
xcoord: Union[str, Numeric, None] = None,
# относительноконтейнериз屏幕 y Координаты, единица пиксель.
y: Union[str, Numeric, None] = None,
# y Координаты данных.
ycoord: Union[str, Numeric, None] = None,
# существоватьиспользовать type часэффективный,использовать于обозначениесуществовать哪个维степеньначальствообозначение最大ценить最小ценить,可кда
# 0(xAxis, radiusAxis),
# 1(yAxis, angleAxis),по умолчаниюиспользоватьпервыйчисловое значениеось所существоватьиз维степень。
value_index: Optional[Numeric] = None,
# существоватьиспользовать type часэффективный,использовать于обозначениесуществовать哪个维степеньначальствообозначение最大ценить最小ценить。этот可кда维степеньизпрямойимясказать,
# примернравиться Линейный графикчас可кда x、угол и т. д., подсвечник картиначас可кда open、close Равные имена измерений.
value_dim: Optional[str] = None,
# отправная точкаиликонецизкоординировать。координировать Формат视рядизсистема координат Зависит от,可кдапрямой уголсистема координатначальствоиз x, y,
# Это также может бытьстолбсистема координатначальствоиз radius, angle。
coord: Optional[Sequence] = None,
# конецотметкаизграфика。
# ECharts Доступные типы разметки включают в себя 'circle', 'rect', 'roundRect', 'triangle',
# 'diamond', 'pin', 'arrow', 'none'
# может пройти 'image://url' установлен на картинках,в URL длякартинаиз Связь,или dataURI。
symbol: Optional[str] = None,
# Отметить изразмер,可кнастраиватьстановиться诸нравиться 10 этот样单одинизчисло,также可киспользоватьмножествоточка开выражать Ширинаивысокий,
# примернравиться [20, 10] выражатьотметка Ширинадля 20,высокийдля 10。
symbol_size: Optional[Numeric] = None,
)
class pyecharts.options.MarkLineOpts
class MarkLineOpts(
# графикаданет Нет响应и Запустить событие мыши,по умолчаниюдля false, что означает реагирование на события мыши и их запуск.
is_silent: bool = False,
# отметка Проволокаданные,ссылка `series_options.MarkLineItem`
data: Sequence[Union[MarkLineItem, dict]] = None,
# 标Проволокаоба концаизотметкатип,可кдаодин个множествосоответственнообозначениеоба конца,Это также может быть单个统одинобозначение,具体Формат见 data.symbol。
symbol: Optional[str] = None,
# 标Проволокаоба концаизотметкаразмер,可кдаодин个множествосоответственнообозначениеоба конца,Это также может быть单个统одинобозначение.
symbol_size: Union[None, Numeric] = None,
# 标Проволокачисловое значениеиз Точность,существоватьпоказывать平均ценить Проволокаизкогда有использовать。
precision: int = 2,
# Этикетка Конфигурацияэлемент,ссылка `series_options.LabelOpts`
label_opts: LabelOpts = LabelOpts(),
# отметка Проволокастиль Конфигурацияэлемент,ссылка `series_options.LineStyleOpts`
linestyle_opts: Union[LineStyleOpts, dict, None] = None,
)
class pyecharts.options.MarkAreaItem
class MarkAreaItem(
# название местности, 仅仅Сразудаодин个имясказать而已
name: Optional[str] = None,
# особенныйизотметкатип,использовать于отметка最大ценить最小ценить等。
# 'min' максимальное значение.
# 'max' максимальное значение.
# 'average' среднее значение.
type_: Sequence[Optional[str], Optional[str]] = (None, None),
# существоватьиспользовать type часэффективный,использовать于обозначениесуществовать哪个维степеньначальствообозначение最大ценить最小ценить,可кда 0(xAxis, radiusAxis),1(yAxis, angleAxis)。
# по умолчаниюиспользоватьпервыйчисловое значениеось所существоватьиз维степень。
value_index: Sequence[Optional[Numeric], Optional[Numeric]] = (None, None),
# существоватьиспользовать type часэффективный,использовать于обозначениесуществовать哪个维степеньначальствообозначение最大ценить最小ценить。
# этот可кда维степеньизпрямойимясказать,примернравиться Линейный графикчас可кда x、угол и т. д., подсвечник картиначас可кда open、close Равные имена измерений.
value_dim: Sequence[Optional[str], Optional[str]] = (None, None),
# относительноконтейнериз屏幕 x координировать,Единичный пиксель,поддержка в процентной форме,примернравиться '20%'。
x: Sequence[Union[str, Numeric, None], Union[str, Numeric, None]] = (None, None),
# относительноконтейнериз屏幕 y координировать,Единичный пиксель,поддержка в процентной форме,примернравиться '20%'。
y: Sequence[Union[str, Numeric, None], Union[str, Numeric, None]] = (None, None),
# Этикетка Конфигурацияэлемент,ссылка `series_options.LabelOpts`
label_opts: Union[LabelOpts, dict, None] = None,
# Долженданныеэлемент区域изстиль,отправная точкаиконецэлементиз itemStyle встречаслитьприезжатьодин起。ссылка `series_options.ItemStyleOpts`
itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,
)
class pyecharts.options.MarkAreaOpts
class MarkAreaOpts(
# графикаданет Нет响应и Запустить событие мыши,по умолчаниюдля Ложь, то есть реагировать на события мыши и запускать их.
is_silent: bool = False,
# Этикетка Конфигурацияэлемент,ссылка `series_options.LabelOpts`
label_opts: LabelOpts = LabelOpts(),
# отметка区域данные,ссылка `series_options.MarkAreaItem`
data: Sequence[Union[MarkAreaItem, Sequence, dict]] = None,
# Долженданныеэлемент区域изстиль。ссылка `series_options.ItemStyleOpts`
itemstyle_opts: ItemStyleOpts = None,
)
class pyecharts.EffectOpts.EffectOpts
class EffectOpts(
# Отображать ли Спецэффекты.
is_show: bool = True,
# пульсацияизрисовать Способ,Необязательный 'stroke' и 'fill',Scatter Тип действителен.
brush_type: str = "stroke",
# анимациясерединапульсацияиз最大Увеличить Сравниватьпример,Scatter Тип действителен.
scale: Numeric = 2.5,
# анимацияизцикл,количество секунд,Scatter Тип действителен.
period: Numeric = 4,
# 特效отметкаизцвет
color: Optional[str] = None,
# 特效графикаизотметка。
# ECharts Доступные типы разметки включают в себя 'circle', 'rect', 'roundRect', 'triangle',
# 'diamond', 'pin', 'arrow', 'none'
# может пройти 'image://url' установлен на картинках,в URL длякартинаиз Связь,или dataURI。
symbol: Optional[str] = None,
# 特效Отметить изразмер,可кнастраиватьстановиться诸нравиться 10 этот样单одинизчисло,также可киспользоватьмножествоточка开выражатьвысокийи Ширина,
# примернравиться [20, 10] выражатьотметка Ширинадля 20,высокийдля 10。
symbol_size: Optional[Numeric] = None,
# 特效будитьиздлина.Выбиратьот 0 приезжать 1 изценить,числовое значение越大будить越长。Geo картинанастраивать Lines типдействительный.
trail_length: Optional[Numeric] = None,
)
class pyecharts.options.AreaStyleOpts
class AreaStyleOpts(
# графикапрозрачность。поддерживатьот 0 приезжать 1 изчисло,для 0 График не рисуется.
opacity: Optional[Numeric] = 0,
# 填充изцвет。
# Цвет можно использовать RGB выражать,Сравниватьнравиться 'rgb(128, 128, 128)',еслихочу加начальство alpha рядвыражать Нетпрозрачность,# 可киспользовать RGBA,Сравниватьнравиться 'rgba(128, 128, 128, 0.5)',Также доступен шестнадцатеричный формат.,Сравниватьнравиться '#ccc'。
# Помимо сплошных цветов, цвета также представляют собой градиентные цвета и текстурные заливки.
#
# линейный градиент,первые четырепараметрсоответственнода x0, y0, x2, y2, Диапазон от 0 - 1,Эквивалентносуществоватьграфика包围盒серединаизпроцент,
# если globalCoord для `true`,но Должен四个ценитьдаабсолютныйиз像素Расположение
# color: {
# type: 'linear',
# x: 0,
# y: 0,
# x2: 0,
# y2: 1,
# colorStops: [{
# offset: 0, color: 'red' // 0% 处изцвет
# }, {
# offset: 1, color: 'blue' // 100% 处изцвет
# }],
# global: false // 缺省для false
# }
#
# радиальный градиент,первые трипараметрсоответственнодацентр круга x, y ирадиус, значение такое же, как у линейного градиента
# color: {
# type: 'radial',
# x: 0.5,
# y: 0.5,
# r: 0.5,
# colorStops: [{
# offset: 0, color: 'red' // 0% 处изцвет
# }, {
# offset: 1, color: 'blue' // 100% 处изцвет
# }],
# global: false // 缺省для false
# }
#
# текстурная заливка
# color: {
# image: imageDom, // поддерживатьдля HTMLImageElement, HTMLCanvasElement,Нетподдерживатьпутьнить
# repeat: 'repeat' // данет Плитка, 可кда 'repeat-x', 'repeat-y', 'no-repeat'
# }
color: Optional[str] = None
)
class pyecharts.options.SplitAreaOpts
class SplitAreaOpts(
# Отображать литочка隔区域。
is_show=True,
# точка隔区域изстиль Конфигурацияэлемент,ссылка `series_options.AreaStyleOpts`
areastyle_opts: AreaStyleOpts = AreaStyleOpts()
)
class pyecharts.options.MinorTickOpts
class MinorTickOpts(
# Отображать ли次刻степень Проволока。
is_show: bool = False,
# 次刻степень Проволокаточка割число,по умолчаниювстречаточка割становиться 5 часть
split_number: Numeric = 5,
# 次刻степень Проволокаиздлина.
length: Numeric = 3,
# 次刻степень Проволокаизстиль
linestyle_opts: Union[LineStyleOpts, dict, None] = None,
)
class pyecharts.options.MinorSplitLineOpts
class MinorSplitLineOpts(
# Отображать ли次точка隔Проволока。по умолчанию Нетпоказывать。
is_show: bool = False,
# 次точка隔Проволокаширина линии.
width: Numeric = 1,
# 次точка隔Проволока Проволокаизтип。Необязательный:'solid','dashed','dotted'
type_: str = "solid",
# графикапрозрачность。поддерживатьот 0 приезжать 1 изчисло,для 0 График не рисуется.
opacity: Union[Numeric, None] = None,
# Проволокаизстиль
linestyle_opts: Union[LineStyleOpts, dict, None] = None,
)
class pyecharts.options.GraphGLForceAtlas2Opts
class GraphGLForceAtlas2Opts(
# данет启использовать GPU макет.
is_gpu: bool = True,
# один次возобновлятьиз迭代次число。потому чтодля Алгоритмы с принудительным управлением обычно занимают каждую итерацию.из Результаты нанесены на график,
# нодапотому чтодлярисоватьчас间往往встреча大于макетизчас间,приведет к макетуиз Снижение эффективности,
# этоткогдая们可кнастраиватьбольшеизstepsпараметр,Гарантированная планировкаирисоватьизчас间均衡,Ускорить версткуиз速степень。
steps: Numeric = 1,
# Остановить макетиз阈ценить,когдамакетизобщая ситуация速степеньпотому что子小于этот阈ценитьчас停止макет.настраиватьдля 0 но永远Нет停止。
stop_threshold: Numeric = 1,
# данет开启 Barnes Hut оптимизация,существовать forceAtlas2.GPU для false действительный.
# по умолчаниюсуществоватьузелчисло > Включается в 10.00 часов.
is_barnes_hut_optimize: Optional[bool] = None,
# данет根据узелсторонаизчисло量来计算узелиз斥力потому что子,Рекомендуется включить его.
is_repulsion_by_degree: bool = True,
# данетдаlin-logмодель。lin-log модельвстреча让聚类изузел更加紧凑。
is_lin_log_mode: bool = False,
# узел受приезжатьизцентростремительная сила。этот力встреча让узел像середина心靠拢。
gravity: Numeric = 1,
# центростремительная силасередина心из Расположение。по умолчанию去初始Расположениеизсередина间点。
gravity_center: Optional[Sequence] = None,
# макетиз Увеличитьпотому что子,ценить越大ноузел间из Чем сильнее отталкивание。
scaling: Optional[Numeric] = None,
# вес кромкииз影响потому что子。ценить越大,новес кромкидля引力из影响также越大。
# Примечание:этотпотому что子даобратитесь кчисло级из,потому что此существоватьвес кромкидля0и1изкогда无效。
edge_weight_influence: Numeric = 1,
# сторонаиз权重точка布。сопоставлено с links.value。
# поддерживатьустановлен на单个число,этоткогда Сразуда统одиниз权重ценить。
edge_weight: Union[Sequence, Numeric] = None,
# узелиз权重точка布。сопоставлено с nodes.value。
# поддерживатьустановлен на单个число,этоткогда Сразуда统одиниз权重ценить。
node_weight: Union[Sequence, Numeric] = None,
# данет开启防止узел重叠。
is_prevent_overlap: bool = False,
)
Есть определенные «рутины» в использовании Pyecharts.
Внедрите соответствующие пакеты и соответствующие пакеты в соответствии с необходимой вам конфигурацией и типом диаграммы.
from pyecharts.charts import Bar
Создайте объект, соответствующий диаграмме
bar = Bar()
Добавление данных в объекты диаграммы
bar.add_xaxis(["рубашка", "кардиган", «шифоновая рубашка», "Брюки", «Высокий каблук», "носок"])
bar.add_yaxis("Торговец А", [5, 20, 36, 10, 75, 90])
Рендеринг html-файла
bar.render()
генерировать render.html
,Пример эффекта:
Когда несколько диаграмм должны отображаться в одной html Необходимо использовать в файле Page
from pyecharts.charts import Bar, Page
Создать объект страницы
page = Page()
Создание нескольких объектов диаграммы
bar1 = Bar()
bar1.add_xaxis(["рубашка", "кардиган", «шифоновая рубашка», "Брюки", «Высокий каблук», "носок"])
bar1.add_yaxis("Торговец А", [5, 20, 36, 10, 75, 90])
# render встречагенерироватькнига地 HTML документ,по умолчаниювстречасуществоватькогда前目录генерировать render.html документ
# также可квходящийпутьпараметр,нравиться bar.render("mycharts.html")
bar2 = Bar()
bar2.add_xaxis(["рубашка", "кардиган", «шифоновая рубашка», "Брюки", «Высокий каблук», "носок"])
bar2.add_yaxis("Торговец Б", [5, 20, 36, 10, 75, 90][::-1])
Добавьте объекты диаграммы, которые необходимо интегрировать в объект «Страница».
page.add(bar1)
page.add(bar2)
Рендеринг объекта страницы
page.render()
генерировать render.html
,Пример эффекта:
import random
import datetime
import pyecharts.options as opts
from pyecharts.charts import Calendar
begin = datetime.date(2017, 1, 1)
end = datetime.date(2017, 12, 31)
data = [
[str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]
for i in range((end - begin).days + 1)
]
(
Calendar()
.add(
series_name="",
yaxis_data=data,
calendar_opts=opts.CalendarOpts(
pos_top="120",
pos_left="30",
pos_right="30",
range_="2017",
yearlabel_opts=opts.CalendarYearLabelOpts(is_show=False),
),
)
.set_global_opts(
title_opts=opts.TitleOpts(pos_top="30", pos_left="center", title="Количество шагов в 2017 году"),
visualmap_opts=opts.VisualMapOpts(
max_=20000, min_=500, orient="horizontal", is_piecewise=False
),
)
.render("calendar_heatmap.html")
)
from pyecharts import options as opts
from pyecharts.charts import Funnel
from pyecharts.faker import Faker
c = (
Funnel()
.add(
"товар",
[list(z) for z in zip(Faker.choose(), Faker.values())],
label_opts=opts.LabelOpts(position="inside"),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Funnel-Label(inside)"))
.render("funnel_label_inside.html")
)
from pyecharts import options as opts
from pyecharts.charts import Gauge
c = (
Gauge()
.add(
«Бизнес-показатели»,
[("Процент завершения", 55.5)],
split_number=5,
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(
color=[(0.3, "#67e0e3"), (0.7, "#37a2da"), (1, "#fd666d")], width=30
)
),
detail_label_opts=opts.LabelOpts(formatter="{value}"),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="Gauge-точка割частьчисло-Label"),
legend_opts=opts.LegendOpts(is_show=False),
)
.render("gauge_splitnum_label.html")
)
import json
from pyecharts import options as opts
from pyecharts.charts import Graph
with open("les-miserables.json", "r", encoding="utf-8") as f:
j = json.load(f)
nodes = j["nodes"]
links = j["links"]
categories = j["categories"]
c = (
Graph(init_opts=opts.InitOpts(width="1000px", height="600px"))
.add(
"",
nodes=nodes,
links=links,
categories=categories,
layout="circular",
is_rotate_label=True,
linestyle_opts=opts.LineStyleOpts(color="source", curve=0.3),
label_opts=opts.LabelOpts(position="right"),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="Graph-Les Miserables"),
legend_opts=opts.LegendOpts(orient="vertical", pos_left="2%", pos_top="20%"),
)
.render("graph_les_miserables.html")
)
from pyecharts import options as opts
from pyecharts.charts import Liquid
from pyecharts.globals import SymbolType
c = (
Liquid()
.add("lq", [0.3, 0.7], is_outline_show=False, shape=SymbolType.ARROW)
.set_global_opts(title_opts=opts.TitleOpts(title="Liquid-Shape-arrow"))
.render("liquid_shape_arrow.html")
)
import pyecharts.options as opts
from pyecharts.charts import Parallel
"""
Gallery использовать pyecharts 1.1.0
ссылкаадрес: https://echarts.apache.org/examples/editor.html?c=parallel-simple
На данный момент функция из не может быть реализована:
1、
"""
parallel_axis = [
{"dim": 0, "name": "Price"},
{"dim": 1, "name": "Net Weight"},
{"dim": 2, "name": "Amount"},
{
"dim": 3,
"name": "Score",
"type": "category",
"data": ["Excellent", "Good", "OK", "Bad"],
},
]
data = [[12.99, 100, 82, "Good"], [9.99, 80, 77, "OK"], [20, 120, 60, "Excellent"]]
(
Parallel()
.add_schema(schema=parallel_axis)
.add(
series_name="",
data=data,
linestyle_opts=opts.LineStyleOpts(width=4, opacity=0.5),
)
.render("basic_parallel.html")
)
import pyecharts.options as opts
from pyecharts.charts import Pie
"""
Gallery использовать pyecharts 1.1.0
ссылкаадрес: https://echarts.apache.org/examples/editor.html?c=pie-doughnut
На данный момент функция из не может быть реализована:
1、迷之цвет映射извопрос
"""
x_data = ["прямой доступ", «электронный маркетинг», «партнерская реклама», «видеореклама», «поисковик»]
y_data = [335, 310, 274, 235, 400]
data_pair = [list(z) for z in zip(x_data, y_data)]
data_pair.sort(key=lambda x: x[1])
(
Pie(init_opts=opts.InitOpts(bg_color="#2c343c"))
.add(
series_name="Источник доступа",
data_pair=data_pair,
rosetype="radius",
radius="55%",
center=["50%", "50%"],
label_opts=opts.LabelOpts(is_show=False, position="center"),
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="Customized Pie",
pos_left="center",
pos_top="20",
title_textstyle_opts=opts.TextStyleOpts(color="#fff"),
),
legend_opts=opts.LegendOpts(is_show=False),
)
.set_series_opts(
tooltip_opts=opts.TooltipOpts(
trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"
),
label_opts=opts.LabelOpts(color="rgba(255, 255, 255, 0.3)"),
)
.render("customized_pie.html")
)
from pyecharts import options as opts
from pyecharts.charts import Polar
from pyecharts.faker import Faker
c = (
Polar()
.add_schema(angleaxis_opts=opts.AngleAxisOpts(data=Faker.week, type_="category"))
.add("A", [1, 2, 3, 4, 3, 5, 1], type_="bar", stack="stack0")
.add("B", [2, 4, 6, 1, 2, 3, 1], type_="bar", stack="stack0")
.add("C", [1, 2, 3, 4, 1, 2, 5], type_="bar", stack="stack0")
.set_global_opts(title_opts=opts.TitleOpts(title="Polar-AngleAxis"))
.render("polar_angleaxis.html")
)
import pyecharts.options as opts
from pyecharts.charts import Radar
"""
Gallery использовать pyecharts 1.1.0
ссылкаадрес: https://echarts.apache.org/examples/editor.html?c=radar
На данный момент функция из не может быть реализована:
1、雷达картина周围излегендаиз textStyle 暂час无法настраиватьфонцвет
"""
v1 = [[4300, 10000, 28000, 35000, 50000, 19000]]
v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]
(
Radar(init_opts=opts.InitOpts(bg_color="#CCCCCC"))
.add_schema(
schema=[
opts.RadarIndicatorItem(name="sales", max_=6500),
opts.RadarIndicatorItem(name="управлять(Администрирование)", max_=16000),
opts.RadarIndicatorItem(name="Информационные технологии" Technology)", max_=30000),
opts.RadarIndicatorItem(name="обслуживание клиентов(Клиент Support)", max_=38000),
opts.RadarIndicatorItem(name="Развитие", max_=52000),
opts.RadarIndicatorItem(name="Маркетинг", max_=25000),
],
splitarea_opt=opts.SplitAreaOpts(
is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
),
textstyle_opts=opts.TextStyleOpts(color="#fff"),
)
.add(
series_name="Распределение бюджета (выделено Budget)",
data=v1,
linestyle_opts=opts.LineStyleOpts(color="#CD0000"),
)
.add(
series_name="Фактическая стоимость (Фактическая Spending)",
data=v2,
linestyle_opts=opts.LineStyleOpts(color="#5CACEE"),
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title="Базовая радиолокационная диаграмма"), legend_opts=opts.LegendOpts()
)
.render("basic_radar_chart.html")
)
import asyncio
from aiohttp import TCPConnector, ClientSession
import pyecharts.options as opts
from pyecharts.charts import Sankey
"""
Gallery использовать pyecharts 1.1.0
ссылкаадрес: https://echarts.apache.org/examples/editor.html?c=sankey-energy
На данный момент функция из не может быть реализована:
1、label икартинаиз层次有点вопрос
"""
async def get_json_data(url: str) -> dict:
async with ClientSession(connector=TCPConnector(ssl=False)) as session:
async with session.get(url=url) as response:
return await response.json()
# 获Выбирать官направлениеизданные
data = asyncio.run(
get_json_data(url="https://echarts.apache.org/examples/data/asset/data/energy.json")
)
(
Sankey()
.add(
series_name="",
nodes=data["nodes"],
links=data["links"],
itemstyle_opts=opts.ItemStyleOpts(border_width=1, border_color="#aaa"),
linestyle_opt=opts.LineStyleOpts(color="source", curve=0.5, opacity=0.5),
tooltip_opts=opts.TooltipOpts(trigger_on="mousemove"),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Sankey Diagram"))
.render("sankey_diagram.html")
)
from pyecharts.charts import Sunburst
from pyecharts import options as opts
"""
Gallery использовать pyecharts 1.2.1
ссылкаадрес: https://echarts.apache.org/examples/editor.html?c=sunburst-simple
На данный момент функция из не может быть реализована:
1. Нет
"""
data = [
{
"name": "Flora",
"itemStyle": {"color": "#da0d68"},
"children": [
{"name": "Black Tea", "value": 1, "itemStyle": {"color": "#975e6d"}},
{
"name": "Floral",
"itemStyle": {"color": "#e0719c"},
"children": [
{
"name": "Chamomile",
"value": 1,
"itemStyle": {"color": "#f99e1c"},
},
{"name": "Rose", "value": 1, "itemStyle": {"color": "#ef5a78"}},
{"name": "Jasmine", "value": 1, "itemStyle": {"color": "#f7f1bd"}},
],
},
],
},
{
"name": "Fruity",
"itemStyle": {"color": "#da1d23"},
"children": [
{
"name": "Berry",
"itemStyle": {"color": "#dd4c51"},
"children": [
{
"name": "Blackberry",
"value": 1,
"itemStyle": {"color": "#3e0317"},
},
{
"name": "Raspberry",
"value": 1,
"itemStyle": {"color": "#e62969"},
},
{
"name": "Blueberry",
"value": 1,
"itemStyle": {"color": "#6569b0"},
},
{
"name": "Strawberry",
"value": 1,
"itemStyle": {"color": "#ef2d36"},
},
],
},
{
"name": "Dried Fruit",
"itemStyle": {"color": "#c94a44"},
"children": [
{"name": "Raisin", "value": 1, "itemStyle": {"color": "#b53b54"}},
{"name": "Prune", "value": 1, "itemStyle": {"color": "#a5446f"}},
],
},
{
"name": "Other Fruit",
"itemStyle": {"color": "#dd4c51"},
"children": [
{"name": "Coconut", "value": 1, "itemStyle": {"color": "#f2684b"}},
{"name": "Cherry", "value": 1, "itemStyle": {"color": "#e73451"}},
{
"name": "Pomegranate",
"value": 1,
"itemStyle": {"color": "#e65656"},
},
{
"name": "Pineapple",
"value": 1,
"itemStyle": {"color": "#f89a1c"},
},
{"name": "Grape", "value": 1, "itemStyle": {"color": "#aeb92c"}},
{"name": "Apple", "value": 1, "itemStyle": {"color": "#4eb849"}},
{"name": "Peach", "value": 1, "itemStyle": {"color": "#f68a5c"}},
{"name": "Pear", "value": 1, "itemStyle": {"color": "#baa635"}},
],
},
{
"name": "Citrus Fruit",
"itemStyle": {"color": "#f7a128"},
"children": [
{
"name": "Grapefruit",
"value": 1,
"itemStyle": {"color": "#f26355"},
},
{"name": "Orange", "value": 1, "itemStyle": {"color": "#e2631e"}},
{"name": "Lemon", "value": 1, "itemStyle": {"color": "#fde404"}},
{"name": "Lime", "value": 1, "itemStyle": {"color": "#7eb138"}},
],
},
],
},
{
"name": "Sour/\nFermented",
"itemStyle": {"color": "#ebb40f"},
"children": [
{
"name": "Sour",
"itemStyle": {"color": "#e1c315"},
"children": [
{
"name": "Sour Aromatics",
"value": 1,
"itemStyle": {"color": "#9ea718"},
},
{
"name": "Acetic Acid",
"value": 1,
"itemStyle": {"color": "#94a76f"},
},
{
"name": "Butyric Acid",
"value": 1,
"itemStyle": {"color": "#d0b24f"},
},
{
"name": "Isovaleric Acid",
"value": 1,
"itemStyle": {"color": "#8eb646"},
},
{
"name": "Citric Acid",
"value": 1,
"itemStyle": {"color": "#faef07"},
},
{
"name": "Malic Acid",
"value": 1,
"itemStyle": {"color": "#c1ba07"},
},
],
},
{
"name": "Alcohol/\nFremented",
"itemStyle": {"color": "#b09733"},
"children": [
{"name": "Winey", "value": 1, "itemStyle": {"color": "#8f1c53"}},
{"name": "Whiskey", "value": 1, "itemStyle": {"color": "#b34039"}},
{
"name": "Fremented",
"value": 1,
"itemStyle": {"color": "#ba9232"},
},
{"name": "Overripe", "value": 1, "itemStyle": {"color": "#8b6439"}},
],
},
],
},
{
"name": "Green/\nVegetative",
"itemStyle": {"color": "#187a2f"},
"children": [
{"name": "Olive Oil", "value": 1, "itemStyle": {"color": "#a2b029"}},
{"name": "Raw", "value": 1, "itemStyle": {"color": "#718933"}},
{
"name": "Green/\nVegetative",
"itemStyle": {"color": "#3aa255"},
"children": [
{
"name": "Under-ripe",
"value": 1,
"itemStyle": {"color": "#a2bb2b"},
},
{"name": "Peapod", "value": 1, "itemStyle": {"color": "#62aa3c"}},
{"name": "Fresh", "value": 1, "itemStyle": {"color": "#03a653"}},
{
"name": "Dark Green",
"value": 1,
"itemStyle": {"color": "#038549"},
},
{
"name": "Vegetative",
"value": 1,
"itemStyle": {"color": "#28b44b"},
},
{"name": "Hay-like", "value": 1, "itemStyle": {"color": "#a3a830"}},
{
"name": "Herb-like",
"value": 1,
"itemStyle": {"color": "#7ac141"},
},
],
},
{"name": "Beany", "value": 1, "itemStyle": {"color": "#5e9a80"}},
],
},
{
"name": "Other",
"itemStyle": {"color": "#0aa3b5"},
"children": [
{
"name": "Papery/Musty",
"itemStyle": {"color": "#9db2b7"},
"children": [
{"name": "Stale", "value": 1, "itemStyle": {"color": "#8b8c90"}},
{
"name": "Cardboard",
"value": 1,
"itemStyle": {"color": "#beb276"},
},
{"name": "Papery", "value": 1, "itemStyle": {"color": "#fefef4"}},
{"name": "Woody", "value": 1, "itemStyle": {"color": "#744e03"}},
{
"name": "Moldy/Damp",
"value": 1,
"itemStyle": {"color": "#a3a36f"},
},
{
"name": "Musty/Dusty",
"value": 1,
"itemStyle": {"color": "#c9b583"},
},
{
"name": "Musty/Earthy",
"value": 1,
"itemStyle": {"color": "#978847"},
},
{"name": "Animalic", "value": 1, "itemStyle": {"color": "#9d977f"}},
{
"name": "Meaty Brothy",
"value": 1,
"itemStyle": {"color": "#cc7b6a"},
},
{"name": "Phenolic", "value": 1, "itemStyle": {"color": "#db646a"}},
],
},
{
"name": "Chemical",
"itemStyle": {"color": "#76c0cb"},
"children": [
{"name": "Bitter", "value": 1, "itemStyle": {"color": "#80a89d"}},
{"name": "Salty", "value": 1, "itemStyle": {"color": "#def2fd"}},
{
"name": "Medicinal",
"value": 1,
"itemStyle": {"color": "#7a9bae"},
},
{
"name": "Petroleum",
"value": 1,
"itemStyle": {"color": "#039fb8"},
},
{"name": "Skunky", "value": 1, "itemStyle": {"color": "#5e777b"}},
{"name": "Rubber", "value": 1, "itemStyle": {"color": "#120c0c"}},
],
},
],
},
{
"name": "Roasted",
"itemStyle": {"color": "#c94930"},
"children": [
{"name": "Pipe Tobacco", "value": 1, "itemStyle": {"color": "#caa465"}},
{"name": "Tobacco", "value": 1, "itemStyle": {"color": "#dfbd7e"}},
{
"name": "Burnt",
"itemStyle": {"color": "#be8663"},
"children": [
{"name": "Acrid", "value": 1, "itemStyle": {"color": "#b9a449"}},
{"name": "Ashy", "value": 1, "itemStyle": {"color": "#899893"}},
{"name": "Smoky", "value": 1, "itemStyle": {"color": "#a1743b"}},
{
"name": "Brown, Roast",
"value": 1,
"itemStyle": {"color": "#894810"},
},
],
},
{
"name": "Cereal",
"itemStyle": {"color": "#ddaf61"},
"children": [
{"name": "Grain", "value": 1, "itemStyle": {"color": "#b7906f"}},
{"name": "Malt", "value": 1, "itemStyle": {"color": "#eb9d5f"}},
],
},
],
},
{
"name": "Spices",
"itemStyle": {"color": "#ad213e"},
"children": [
{"name": "Pungent", "value": 1, "itemStyle": {"color": "#794752"}},
{"name": "Pepper", "value": 1, "itemStyle": {"color": "#cc3d41"}},
{
"name": "Brown Spice",
"itemStyle": {"color": "#b14d57"},
"children": [
{"name": "Anise", "value": 1, "itemStyle": {"color": "#c78936"}},
{"name": "Nutmeg", "value": 1, "itemStyle": {"color": "#8c292c"}},
{"name": "Cinnamon", "value": 1, "itemStyle": {"color": "#e5762e"}},
{"name": "Clove", "value": 1, "itemStyle": {"color": "#a16c5a"}},
],
},
],
},
{
"name": "Nutty/\nCocoa",
"itemStyle": {"color": "#a87b64"},
"children": [
{
"name": "Nutty",
"itemStyle": {"color": "#c78869"},
"children": [
{"name": "Peanuts", "value": 1, "itemStyle": {"color": "#d4ad12"}},
{"name": "Hazelnut", "value": 1, "itemStyle": {"color": "#9d5433"}},
{"name": "Almond", "value": 1, "itemStyle": {"color": "#c89f83"}},
],
},
{
"name": "Cocoa",
"itemStyle": {"color": "#bb764c"},
"children": [
{
"name": "Chocolate",
"value": 1,
"itemStyle": {"color": "#692a19"},
},
{
"name": "Dark Chocolate",
"value": 1,
"itemStyle": {"color": "#470604"},
},
],
},
],
},
{
"name": "Sweet",
"itemStyle": {"color": "#e65832"},
"children": [
{
"name": "Brown Sugar",
"itemStyle": {"color": "#d45a59"},
"children": [
{"name": "Molasses", "value": 1, "itemStyle": {"color": "#310d0f"}},
{
"name": "Maple Syrup",
"value": 1,
"itemStyle": {"color": "#ae341f"},
},
{
"name": "Caramelized",
"value": 1,
"itemStyle": {"color": "#d78823"},
},
{"name": "Honey", "value": 1, "itemStyle": {"color": "#da5c1f"}},
],
},
{"name": "Vanilla", "value": 1, "itemStyle": {"color": "#f89a80"}},
{"name": "Vanillin", "value": 1, "itemStyle": {"color": "#f37674"}},
{"name": "Overall Sweet", "value": 1, "itemStyle": {"color": "#e75b68"}},
{"name": "Sweet Aromatics", "value": 1, "itemStyle": {"color": "#d0545f"}},
],
},
]
c = (
Sunburst(init_opts=opts.InitOpts(width="1000px", height="600px"))
.add(
"",
data_pair=data,
highlight_policy="ancestor",
radius=[0, "95%"],
sort_="null",
levels=[
{},
{
"r0": "15%",
"r": "35%",
"itemStyle": {"borderWidth": 2},
"label": {"rotate": "tangential"},
},
{"r0": "35%", "r": "70%", "label": {"align": "right"}},
{
"r0": "70%",
"r": "72%",
"label": {"position": "outside", "padding": 3, "silent": False},
"itemStyle": {"borderWidth": 3},
},
],
)
.set_global_opts(title_opts=opts.TitleOpts(title="Sunburst - Официальный пример"))
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}"))
.render("drink_flavors.html")
)
import pyecharts.options as opts
from pyecharts.charts import ThemeRiver
"""
Gallery использовать pyecharts 1.1.0
ссылкаадрес: https://echarts.apache.org/examples/editor.html?c=themeRiver-basic
На данный момент функция из не может быть реализована:
1、暂час无法настраиватьтеньстиль
"""
x_data = ["DQ", "TY", "SS", "QG", "SY", "DD"]
y_data = [
["2015/11/08", 10, "DQ"],
["2015/11/09", 15, "DQ"],
["2015/11/10", 35, "DQ"],
["2015/11/11", 38, "DQ"],
["2015/11/12", 22, "DQ"],
["2015/11/13", 16, "DQ"],
["2015/11/14", 7, "DQ"],
["2015/11/15", 2, "DQ"],
["2015/11/16", 17, "DQ"],
["2015/11/17", 33, "DQ"],
["2015/11/18", 40, "DQ"],
["2015/11/19", 32, "DQ"],
["2015/11/20", 26, "DQ"],
["2015/11/21", 35, "DQ"],
["2015/11/22", 40, "DQ"],
["2015/11/23", 32, "DQ"],
["2015/11/24", 26, "DQ"],
["2015/11/25", 22, "DQ"],
["2015/11/26", 16, "DQ"],
["2015/11/27", 22, "DQ"],
["2015/11/28", 10, "DQ"],
["2015/11/08", 35, "TY"],
["2015/11/09", 36, "TY"],
["2015/11/10", 37, "TY"],
["2015/11/11", 22, "TY"],
["2015/11/12", 24, "TY"],
["2015/11/13", 26, "TY"],
["2015/11/14", 34, "TY"],
["2015/11/15", 21, "TY"],
["2015/11/16", 18, "TY"],
["2015/11/17", 45, "TY"],
["2015/11/18", 32, "TY"],
["2015/11/19", 35, "TY"],
["2015/11/20", 30, "TY"],
["2015/11/21", 28, "TY"],
["2015/11/22", 27, "TY"],
["2015/11/23", 26, "TY"],
["2015/11/24", 15, "TY"],
["2015/11/25", 30, "TY"],
["2015/11/26", 35, "TY"],
["2015/11/27", 42, "TY"],
["2015/11/28", 42, "TY"],
["2015/11/08", 21, "SS"],
["2015/11/09", 25, "SS"],
["2015/11/10", 27, "SS"],
["2015/11/11", 23, "SS"],
["2015/11/12", 24, "SS"],
["2015/11/13", 21, "SS"],
["2015/11/14", 35, "SS"],
["2015/11/15", 39, "SS"],
["2015/11/16", 40, "SS"],
["2015/11/17", 36, "SS"],
["2015/11/18", 33, "SS"],
["2015/11/19", 43, "SS"],
["2015/11/20", 40, "SS"],
["2015/11/21", 34, "SS"],
["2015/11/22", 28, "SS"],
["2015/11/23", 26, "SS"],
["2015/11/24", 37, "SS"],
["2015/11/25", 41, "SS"],
["2015/11/26", 46, "SS"],
["2015/11/27", 47, "SS"],
["2015/11/28", 41, "SS"],
["2015/11/08", 10, "QG"],
["2015/11/09", 15, "QG"],
["2015/11/10", 35, "QG"],
["2015/11/11", 38, "QG"],
["2015/11/12", 22, "QG"],
["2015/11/13", 16, "QG"],
["2015/11/14", 7, "QG"],
["2015/11/15", 2, "QG"],
["2015/11/16", 17, "QG"],
["2015/11/17", 33, "QG"],
["2015/11/18", 40, "QG"],
["2015/11/19", 32, "QG"],
["2015/11/20", 26, "QG"],
["2015/11/21", 35, "QG"],
["2015/11/22", 40, "QG"],
["2015/11/23", 32, "QG"],
["2015/11/24", 26, "QG"],
["2015/11/25", 22, "QG"],
["2015/11/26", 16, "QG"],
["2015/11/27", 22, "QG"],
["2015/11/28", 10, "QG"],
["2015/11/08", 10, "SY"],
["2015/11/09", 15, "SY"],
["2015/11/10", 35, "SY"],
["2015/11/11", 38, "SY"],
["2015/11/12", 22, "SY"],
["2015/11/13", 16, "SY"],
["2015/11/14", 7, "SY"],
["2015/11/15", 2, "SY"],
["2015/11/16", 17, "SY"],
["2015/11/17", 33, "SY"],
["2015/11/18", 40, "SY"],
["2015/11/19", 32, "SY"],
["2015/11/20", 26, "SY"],
["2015/11/21", 35, "SY"],
["2015/11/22", 4, "SY"],
["2015/11/23", 32, "SY"],
["2015/11/24", 26, "SY"],
["2015/11/25", 22, "SY"],
["2015/11/26", 16, "SY"],
["2015/11/27", 22, "SY"],
["2015/11/28", 10, "SY"],
["2015/11/08", 10, "DD"],
["2015/11/09", 15, "DD"],
["2015/11/10", 35, "DD"],
["2015/11/11", 38, "DD"],
["2015/11/12", 22, "DD"],
["2015/11/13", 16, "DD"],
["2015/11/14", 7, "DD"],
["2015/11/15", 2, "DD"],
["2015/11/16", 17, "DD"],
["2015/11/17", 33, "DD"],
["2015/11/18", 4, "DD"],
["2015/11/19", 32, "DD"],
["2015/11/20", 26, "DD"],
["2015/11/21", 35, "DD"],
["2015/11/22", 40, "DD"],
["2015/11/23", 32, "DD"],
["2015/11/24", 26, "DD"],
["2015/11/25", 22, "DD"],
["2015/11/26", 16, "DD"],
["2015/11/27", 22, "DD"],
["2015/11/28", 10, "DD"],
]
(
ThemeRiver()
.add(
series_name=x_data,
data=y_data,
singleaxis_opts=opts.SingleAxisOpts(
pos_top="50", pos_bottom="50", type_="time"
),
)
.set_global_opts(
tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="line")
)
.render("theme_river.html")
)
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker
c = (
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("Торговец А", Faker.values())
.add_yaxis("Торговец Б", Faker.values())
.reversal_axis()
.set_series_opts(label_opts=opts.LabelOpts(position="right"))
.set_global_opts(title_opts=opts.TitleOpts(title="Бар-翻转)))))))))))))))))) XY ось"))
.render("bar_reversal_axis.html")
)
from pyecharts import options as opts
from pyecharts.charts import Boxplot
v1 = [
[850, 740, 900, 1070, 930, 850, 950, 980, 980, 880, 1000, 980],
[960, 940, 960, 940, 880, 800, 850, 880, 900, 840, 830, 790],
]
v2 = [
[890, 810, 810, 820, 800, 770, 760, 740, 750, 760, 910, 920],
[890, 840, 780, 810, 760, 810, 790, 810, 820, 850, 870, 870],
]
c = Boxplot()
c.add_xaxis(["expr1", "expr2"])
c.add_yaxis("A", c.prepare_data(v1))
c.add_yaxis("B", c.prepare_data(v2))
c.set_global_opts(title_opts=opts.TitleOpts(title="BoxPlot — базовый пример"))
c.render("boxplot_base.html")
from pyecharts import options as opts
from pyecharts.charts import EffectScatter
from pyecharts.faker import Faker
c = (
EffectScatter()
.add_xaxis(Faker.choose())
.add_yaxis("", Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title="EffectScatter-基книга Пример")) .render("effectscatter_base.html")
)
from pyecharts import options as opts
from pyecharts.charts import EffectScatter
from pyecharts.faker import Faker
from pyecharts.globals import SymbolType
c = (
EffectScatter()
.add_xaxis(Faker.choose())
.add_yaxis("", Faker.values(), symbol=SymbolType.ARROW)
.set_global_opts(title_opts=opts.TitleOpts(title="EffectScatter-Неттакой жеSymbol")) .render("effectscatter_symbol.html")
)
import random
from pyecharts import options as opts
from pyecharts.charts import HeatMap
from pyecharts.faker import Faker
value = [[i, j, random.randint(0, 50)] for i in range(24) for j in range(7)]
c = (
HeatMap()
.add_xaxis(Faker.clock)
.add_yaxis(
"series0",
Faker.week,
value,
label_opts=opts.LabelOpts(is_show=True, position="inside"),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="HeatMap-Label показывать"),
visualmap_opts=opts.VisualMapOpts(),
)
.render("heatmap_with_label_show.html")
)
from pyecharts import options as opts
from pyecharts.charts import Kline
data = [
[2320.26, 2320.26, 2287.3, 2362.94],
[2300, 2291.3, 2288.26, 2308.38],
[2295.35, 2346.5, 2295.35, 2345.92],
[2347.22, 2358.98, 2337.35, 2363.8],
[2360.75, 2382.48, 2347.89, 2383.76],
[2383.43, 2385.42, 2371.23, 2391.82],
[2377.41, 2419.02, 2369.57, 2421.15],
[2425.92, 2428.15, 2417.58, 2440.38],
[2411, 2433.13, 2403.3, 2437.42],
[2432.68, 2334.48, 2427.7, 2441.73],
[2430.69, 2418.53, 2394.22, 2433.89],
[2416.62, 2432.4, 2414.4, 2443.03],
[2441.91, 2421.56, 2418.43, 2444.8],
[2420.26, 2382.91, 2373.53, 2427.07],
[2383.49, 2397.18, 2370.61, 2397.94],
[2378.82, 2325.95, 2309.17, 2378.82],
[2322.94, 2314.16, 2308.76, 2330.88],
[2320.62, 2325.82, 2315.01, 2338.78],
[2313.74, 2293.34, 2289.89, 2340.71],
[2297.77, 2313.22, 2292.03, 2324.63],
[2322.32, 2365.59, 2308.92, 2366.16],
[2364.54, 2359.51, 2330.86, 2369.65],
[2332.08, 2273.4, 2259.25, 2333.54],
[2274.81, 2326.31, 2270.1, 2328.14],
[2333.61, 2347.18, 2321.6, 2351.44],
[2340.44, 2324.29, 2304.27, 2352.02],
[2326.42, 2318.61, 2314.59, 2333.67],
[2314.68, 2310.59, 2296.58, 2320.96],
[2309.16, 2286.6, 2264.83, 2333.29],
[2282.17, 2263.97, 2253.25, 2286.33],
[2255.77, 2270.28, 2253.31, 2276.22],
]
c = (
Kline()
.add_xaxis(["2017/7/{}".format(i + 1) for i in range(31)])
.add_yaxis("kline", data)
.set_global_opts(
xaxis_opts=opts.AxisOpts(is_scale=True),
yaxis_opts=opts.AxisOpts(
is_scale=True,
splitarea_opts=opts.SplitAreaOpts(
is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
),
),
datazoom_opts=[opts.DataZoomOpts()],
title_opts=opts.TitleOpts(title="Kline-DataZoom-slider"),
)
.render("kline_datazoom_slider.html")
)
import pyecharts.options as opts
from pyecharts.charts import Line
from pyecharts.faker import Faker
c = (
Line()
.add_xaxis(Faker.choose())
.add_yaxis("Торговец А", Faker.values(), is_smooth=True)
.add_yaxis("Торговец Б", Faker.values(), is_smooth=True)
.set_series_opts(
areastyle_opts=opts.AreaStyleOpts(opacity=0.5),
label_opts=opts.LabelOpts(is_show=False),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="Линейная диаграмма (близко к Y ось)"),
xaxis_opts=opts.AxisOpts(
axistick_opts=opts.AxisTickOpts(is_align_with_label=True),
is_scale=False,
boundary_gap=False,
),
)
.render("line_areastyle_boundary_gap.html")
)
import json
from pyecharts import options as opts
from pyecharts.charts import PictorialBar
location = ["Шаньси", «Сычуань», "Тибет", «Пекин», "начальствоморе", «Внутренняя Монголия», «Юньнань», «Хэйлунцзян», «Гуандун», «Фуцзянь»]
values = [13, 42, 67, 81, 86, 94, 166, 220, 249, 262]
with open("symbol.json", "r", encoding="utf-8") as f:
symbols = json.load(f)
c = (
PictorialBar()
.add_xaxis(["reindeer", "ship", "plane", "train", "car"])
.add_yaxis(
"2015",
[
{"value": 157, "symbol": symbols["reindeer"]},
{"value": 21, "symbol": symbols["ship"]},
{"value": 66, "symbol": symbols["plane"]},
{"value": 78, "symbol": symbols["train"]},
{"value": 123, "symbol": symbols["car"]},
],
label_opts=opts.LabelOpts(is_show=False),
symbol_size=22,
symbol_repeat="fixed",
symbol_offset=[0, 5],
is_symbol_clip=True,
)
.add_yaxis(
"2016",
[
{"value": 184, "symbol": symbols["reindeer"]},
{"value": 29, "symbol": symbols["ship"]},
{"value": 73, "symbol": symbols["plane"]},
{"value": 91, "symbol": symbols["train"]},
{"value": 95, "symbol": symbols["car"]},
],
label_opts=opts.LabelOpts(is_show=False),
symbol_size=22,
symbol_repeat="fixed",
symbol_offset=[0, -25],
is_symbol_clip=True,
)
.reversal_axis()
.set_global_opts(
title_opts=opts.TitleOpts(title="PictorialBar-Vehicles in X City"),
xaxis_opts=opts.AxisOpts(is_show=False),
yaxis_opts=opts.AxisOpts(
axistick_opts=opts.AxisTickOpts(is_show=False),
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(opacity=0)
),
),
)
.render("pictorialbar_multi_custom_symbols.html")
)
from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.faker import Faker
c = (
Scatter()
.add_xaxis(Faker.choose())
.add_yaxis("Торговец А", Faker.values())
.add_yaxis("Торговец Б", Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="Scatter-VisualMap(Size)"),
visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),
)
.render("scatter_visualmap_size.html")
)
from pyecharts import options as opts
from pyecharts.charts import Bar, Line
from pyecharts.faker import Faker
v1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
v2 = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
v3 = [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
bar = (
Bar()
.add_xaxis(Faker.months)
.add_yaxis("Испарение", v1)
.add_yaxis("Осадки", v2)
.extend_axis(
yaxis=opts.AxisOpts(
axislabel_opts=opts.LabelOpts(formatter="{value} °C"), interval=5
)
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title="Overlap-bar+line"),
yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} ml")),
)
)
line = Line().add_xaxis(Faker.months).add_yaxis("Средняя температура", v3, yaxis_index=1)
bar.overlap(line)
bar.render("overlap_bar_line.html")
import json
from pyecharts import options as opts
from pyecharts.charts import Tree
with open("flare.json", "r", encoding="utf-8") as f:
j = json.load(f)
c = (
Tree()
.add(
"",
[j],
collapse_interval=2,
orient="TB",
label_opts=opts.LabelOpts(
position="top",
horizontal_align="right",
vertical_align="middle",
rotate=-90,
),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Tree-начальство Внизнаправление向"))
.render("tree_top_bottom.html")
)
from pyecharts import options as opts
from pyecharts.charts import TreeMap
data = [
{"value": 40, "name": "яда А"},
{
"value": 180,
"name": "ядаB",
"children": [
{
"value": 76,
"name": "ядаB.children",
"children": [
{"value": 12, "name": "ядаB.children.a"},
{"value": 28, "name": "ядаB.children.b"},
{"value": 20, "name": "ядаB.children.c"},
{"value": 16, "name": "ядаB.children.d"},
],
}
],
},
]
c = (
TreeMap()
.add("Демо-данные", data)
.set_global_opts(title_opts=opts.TitleOpts(title="TreeMap — базовый пример"))
.render("treemap_base.html")
)
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType, SymbolType
c = (
Geo()
.add_schema(
maptype="china",
itemstyle_opts=opts.ItemStyleOpts(color="#323c48", border_color="#111"),
)
.add(
"",
[("Гуанчжоу", 55), («Пекин», 66), («Ханчжоу», 77), («Чунцин», 88)],
type_=ChartType.EFFECT_SCATTER,
color="white",
)
.add(
"geo",
[("Гуанчжоу", "начальствоморе"), («Гуанчжоу», «Пекин»), («Гуанчжоу», «Ханчжоу»), («Гуанчжоу», «Чунцин»)],
type_=ChartType.LINES,
effect_opts=opts.EffectOpts(
symbol=SymbolType.ARROW, symbol_size=6, color="blue"
),
linestyle_opts=opts.LineStyleOpts(curve=0.2),
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="Geo-Lines-background"))
.render("geo_lines_background.html")
)
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker
c = (
Map()
.add("Продавец А", [list(z) for z in zip(Faker.guangdong_city, Faker.values())], «Гуандун»)
.set_global_opts(
title_opts=opts.TitleOpts(title="Map-Гуандункарта"), visualmap_opts=opts.VisualMapOpts()
)
.render("map_guangdong.html")
)
from pyecharts import options as opts
from pyecharts.charts import BMap
from pyecharts.faker import Faker
c = (
BMap()
.add_schema(baidu_ak="FAKE_AK", center=[120.13066322374, 30.240018034923])
.add(
"bmap",
[list(z) for z in zip(Faker.provinces, Faker.values())],
label_opts=opts.LabelOpts(formatter="{b}"),
)
.set_global_opts(title_opts=opts.TitleOpts(title="BMap — базовый пример"))
.render("bmap_base.html")
)
import random
from pyecharts import options as opts
from pyecharts.charts import Bar3D
x_data = y_data = list(range(10))
def generate_data():
data = []
for j in range(10):
for k in range(10):
value = random.randint(0, 9)
data.append([j, k, value * 2 + 4])
return data
bar3d = Bar3D()
for _ in range(10):
bar3d.add(
"",
generate_data(),
shading="lambert",
xaxis3d_opts=opts.Axis3DOpts(data=x_data, type_="value"),
yaxis3d_opts=opts.Axis3DOpts(data=y_data, type_="value"),
zaxis3d_opts=opts.Axis3DOpts(type_="value"),
)
bar3d.set_global_opts(title_opts=opts.TitleOpts("Пример гистограммы с накоплением Bar3D"))
bar3d.set_series_opts(**{"stack": "stack"})
bar3d.render("bar3d_stack.html")
import math
import pyecharts.options as opts
from pyecharts.charts import Line3D
week_en = "Saturday Friday Thursday Wednesday Tuesday Monday Sunday".split()
clock = (
"12a 1a 2a 3a 4a 5a 6a 7a 8a 9a 10a 11a 12p "
"1p 2p 3p 4p 5p 6p 7p 8p 9p 10p 11p".split()
)
data = []
for t in range(0, 25000):
_t = t / 1000
x = (1 + 0.25 * math.cos(75 * _t)) * math.cos(_t)
y = (1 + 0.25 * math.cos(75 * _t)) * math.sin(_t)
z = _t + 2.0 * math.sin(75 * _t)
data.append([x, y, z])
(
Line3D()
.add(
"",
data,
xaxis3d_opts=opts.Axis3DOpts(data=clock, type_="value"),
yaxis3d_opts=opts.Axis3DOpts(data=week_en, type_="value"),
grid3d_opts=opts.Grid3DOpts(width=100, height=100, depth=100),
)
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(
dimension=2,
max_=30,
min_=0,
range_color=[
"#313695",
"#4575b4",
"#74add1",
"#abd9e9",
"#e0f3f8",
"#ffffbf",
"#fee090",
"#fdae61",
"#f46d43",
"#d73027",
"#a50026",
],
)
)
.render("line3d_rectangular_projection.html")
)
import asyncio
from aiohttp import TCPConnector, ClientSession
import pyecharts.options as opts
from pyecharts.charts import Scatter3D
"""
Gallery использовать pyecharts 1.1.0
ссылкаадрес: https://echarts.apache.org/examples/editor.html?c=scatter3d&gl=1&theme=dark
На данный момент функция из не может быть реализована:
1. Временно невозможно исправить Grid3D настраивать ось Проволокаиоськоординироватьиз style (Нет白色фон Вниз有вопрос)
"""
async def get_json_data(url: str) -> dict:
async with ClientSession(connector=TCPConnector(ssl=False)) as session:
async with session.get(url=url) as response:
return await response.json()
# 获Выбирать官направлениеизданные
data = asyncio.run(
get_json_data(
url="https://echarts.apache.org/examples/data/asset/data/nutrients.json"
)
)
# Сопоставление имен столбцов
field_indices = {
"calcium": 3,
"calories": 12,
"carbohydrate": 8,
"fat": 10,
"fiber": 5,
"group": 1,
"id": 16,
"monounsat": 14,
"name": 0,
"polyunsat": 15,
"potassium": 7,
"protein": 2,
"saturated": 13,
"sodium": 4,
"sugars": 9,
"vitaminc": 6,
"water": 11,
}
# Конфигурация config
config_xAxis3D = "protein"
config_yAxis3D = "fiber"
config_zAxis3D = "sodium"
config_color = "fiber"
config_symbolSize = "vitaminc"
# Построить данные
data = [
[
item[field_indices[config_xAxis3D]],
item[field_indices[config_yAxis3D]],
item[field_indices[config_zAxis3D]],
item[field_indices[config_color]],
item[field_indices[config_symbolSize]],
index,
]
for index, item in enumerate(data)
]
(
Scatter3D() # bg_color="black"
.add(
series_name="",
data=data,
xaxis3d_opts=opts.Axis3DOpts(
name=config_xAxis3D,
type_="value",
# textstyle_opts=opts.TextStyleOpts(color="#fff"),
),
yaxis3d_opts=opts.Axis3DOpts(
name=config_yAxis3D,
type_="value",
# textstyle_opts=opts.TextStyleOpts(color="#fff"),
),
zaxis3d_opts=opts.Axis3DOpts(
name=config_zAxis3D,
type_="value",
# textstyle_opts=opts.TextStyleOpts(color="#fff"),
),
grid3d_opts=opts.Grid3DOpts(width=100, height=100, depth=100),
)
.set_global_opts(
visualmap_opts=[
opts.VisualMapOpts(
type_="color",
is_calculable=True,
dimension=3,
pos_top="10",
max_=79 / 2,
range_color=[
"#1710c0",
"#0b9df0",
"#00fea8",
"#00ff0d",
"#f5f811",
"#f09a09",
"#fe0300",
],
),
opts.VisualMapOpts(
type_="size",
is_calculable=True,
dimension=4,
pos_bottom="10",
max_=2.4 / 2,
range_size=[10, 40],
),
]
)
.render("scatter3d.html")
)
import math
from typing import Union
import pyecharts.options as opts
from pyecharts.charts import Surface3D
"""
Gallery использовать pyecharts 1.1.0
ссылкаадрес: https://echarts.apache.org/examples/editor.html?c=surface-wave&gl=1
На данный момент функция из не может быть реализована:
1、暂час无法настраиватьгладкая поверхность wireframe
2. Временно невозможно visualmap скрывать
"""
def float_range(start: int, end: int, step: Union[int, float], round_number: int = 2):
"""
число с плавающей запятой range
:param start: начальное значение
:param end: конечная стоимость
:param step: размер шага
:param round_number: Точность
:return: Вернуть list
"""
temp = []
while True:
if start < end:
temp.append(round(start, round_number))
start += step
else:
break
return temp
def surface3d_data():
for t0 in float_range(-3, 3, 0.05):
y = t0
for t1 in float_range(-3, 3, 0.05):
x = t1
z = math.sin(x ** 2 + y ** 2) * x / 3.14
yield [x, y, z]
(
Surface3D()
.add(
series_name="",
shading="color",
data=list(surface3d_data()),
xaxis3d_opts=opts.Axis3DOpts(type_="value"),
yaxis3d_opts=opts.Axis3DOpts(type_="value"),
grid3d_opts=opts.Grid3DOpts(width=100, height=40, depth=100),
)
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(
dimension=2,
max_=1,
min_=-1,
range_color=[
"#313695",
"#4575b4",
"#74add1",
"#abd9e9",
"#e0f3f8",
"#ffffbf",
"#fee090",
"#fdae61",
"#f46d43",
"#d73027",
"#a50026",
],
)
)
.render("surface_wave.html")
)
from pyecharts import options as opts
from pyecharts.charts import Map3D
from pyecharts.globals import ChartType
example_data = [
[[119.107078, 36.70925, 1000], [116.587245, 35.415393, 1000]],
[[117.000923, 36.675807], [120.355173, 36.082982]],
[[118.047648, 36.814939], [118.66471, 37.434564]],
[[121.391382, 37.539297], [119.107078, 36.70925]],
[[116.587245, 35.415393], [122.116394, 37.509691]],
[[119.461208, 35.428588], [118.326443, 35.065282]],
[[116.307428, 37.453968], [115.469381, 35.246531]],
]
c = (
Map3D()
.add_schema(
maptype="Шаньдун",
itemstyle_opts=opts.ItemStyleOpts(
color="rgb(5,101,123)",
opacity=1,
border_width=0.8,
border_color="rgb(62,215,213)",
),
light_opts=opts.Map3DLightOpts(
main_color="#fff",
main_intensity=1.2,
is_main_shadow=False,
main_alpha=55,
main_beta=10,
ambient_intensity=0.3,
),
view_control_opts=opts.Map3DViewControlOpts(center=[-10, 0, 10]),
post_effect_opts=opts.Map3DPostEffectOpts(is_enable=False),
)
.add(
series_name="",
data_pair=example_data,
type_=ChartType.LINES3D,
effect=opts.Lines3DEffectOpts(
is_show=True,
period=4,
trail_width=3,
trail_length=0.5,
trail_color="#f00",
trail_opacity=1,
),
linestyle_opts=opts.LineStyleOpts(is_show=False, color="#fff", opacity=0),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Map3D-Lines3D"))
.render("map3d_with_lines3d.html")
)
import random
from pyecharts import options as opts
from pyecharts.charts import GraphGL
nodes = []
for i in range(50):
for j in range(50):
nodes.append(opts.GraphGLNode(
x=random.random() * 958,
y=random.random() * 777,
value=1,
))
links = []
for i in range(50):
for j in range(50):
if i < 50 - 1:
links.append(opts.GraphGLLink(
source=i + j * 50,
target=i + 1 + j * 50,
value=1,
))
if j < 50 - 1:
links.append(opts.GraphGLLink(
source=i + j * 50,
target=i + (j + 1) * 50,
value=1,
))
c = (
GraphGL(init_opts=opts.InitOpts())
.add(
series_name="",
nodes=nodes,
links=links,
itemstyle_opts=opts.ItemStyleOpts(color="rgba(255,255,255,0.8)"),
linestyle_opts=opts.LineStyleOpts(color="rgba(255,255,255,0.8)", width=3),
force_atlas2_opts=opts.GraphGLForceAtlas2Opts(
steps=5,
edge_weight_influence=4,
)
)
.set_dark_mode()
.render("basic_graphgl.html")
)
from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Line
bar = (
Bar()
.add_xaxis(["{}месяц".format(i) for i in range(1, 13)])
.add_yaxis(
«испарение»,
[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],
yaxis_index=0,
color="#d14a61",
)
.add_yaxis(
«осадки»,
[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],
yaxis_index=1,
color="#5793f3",
)
.extend_axis(
yaxis=opts.AxisOpts(
name=«испарение»,
type_="value",
min_=0,
max_=250,
position="right",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#d14a61")
),
axislabel_opts=opts.LabelOpts(formatter="{value} ml"),
)
)
.extend_axis(
yaxis=opts.AxisOpts(
type_="value",
имя="температура",
min_=0,
max_=25,
position="left",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#675bba")
),
axislabel_opts=opts.LabelOpts(formatter="{value} °C"),
splitline_opts=opts.SplitLineOpts(
is_show=True, linestyle_opts=opts.LineStyleOpts(opacity=1)
),
)
)
.set_global_opts(
yaxis_opts=opts.AxisOpts(
name=«осадки»,
min_=0,
max_=250,
position="right",
offset=80,
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#5793f3")
),
axislabel_opts=opts.LabelOpts(formatter="{value} ml"),
),
title_opts=opts.TitleOpts(title="Grid-Overlap-много X/Y Пример оси"),
tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
legend_opts=opts.LegendOpts(pos_left="25%"),
)
)
line = (
Line()
.add_xaxis(["{}месяц".format(i) for i in range(1, 13)])
.add_yaxis(
«средняя температура»,
[2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2],
yaxis_index=2,
color="#675bba",
label_opts=opts.LabelOpts(is_show=False),
)
)
bar1 = (
Bar()
.add_xaxis(["{}месяц".format(i) for i in range(1, 13)])
.add_yaxis(
«Испарение 1",
[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],
color="#d14a61",
xaxis_index=1,
yaxis_index=3,
)
.add_yaxis(
«Осадки 2",
[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],
color="#5793f3",
xaxis_index=1,
yaxis_index=4,
)
.extend_axis(
yaxis=opts.AxisOpts(
name=«испарение»,
type_="value",
min_=0,
max_=250,
position="right",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#d14a61")
),
axislabel_opts=opts.LabelOpts(formatter="{value} ml"),
)
)
.extend_axis(
yaxis=opts.AxisOpts(
type_="value",
имя="температура",
min_=0,
max_=25,
position="left",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#675bba")
),
axislabel_opts=opts.LabelOpts(formatter="{value} °C"),
splitline_opts=opts.SplitLineOpts(
is_show=True, linestyle_opts=opts.LineStyleOpts(opacity=1)
),
)
)
.set_global_opts(
xaxis_opts=opts.AxisOpts(grid_index=1),
yaxis_opts=opts.AxisOpts(
name=«осадки»,
min_=0,
max_=250,
position="right",
offset=80,
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#5793f3")
),
axislabel_opts=opts.LabelOpts(formatter="{value} ml"),
),
tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
legend_opts=opts.LegendOpts(pos_left="65%"),
)
)
line1 = (
Line()
.add_xaxis(["{}месяц".format(i) for i in range(1, 13)])
.add_yaxis(
«средняя температура 1",
[2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2],
color="#675bba",
label_opts=opts.LabelOpts(is_show=False),
xaxis_index=1,
yaxis_index=5,
)
)
overlap_1 = bar.overlap(line)
overlap_2 = bar1.overlap(line1)
grid = (
Grid(init_opts=opts.InitOpts(width="1200px", height="800px"))
.add(
overlap_1, grid_opts=opts.GridOpts(pos_right="58%"), is_control_axis_index=True
)
.add(overlap_2, grid_opts=opts.GridOpts(pos_left="58%"), is_control_axis_index=True)
.render("grid_overlap_multi_xy_axis.html")
)
from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Line, Liquid, Page, Pie
from pyecharts.commons.utils import JsCode
from pyecharts.components import Table
from pyecharts.faker import Faker
def bar_datazoom_slider() -> Bar:
c = (
Bar()
.add_xaxis(Faker.days_attrs)
.add_yaxis("Торговец А",Faker.days_values)
.set_global_opts(
title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-уровень)"), datazoom_opts=[opts.DataZoomOpts()],
)
)
return c
def line_markpoint() -> Line:
c = (
Line()
.add_xaxis(Faker.choose())
.add_yaxis(
«Бизнесмен А»,
Faker.values(),
markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="min")]),
)
.add_yaxis(
«Бизнесмен Б»,
Faker.values(),
markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max")]),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Line-MarkPoint"))
)
return c
def pie_rosetype() -> Pie:
v = Faker.choose()
c = (
Pie()
.add(
"",
[list(z) for z in zip(v, Faker.values())],
radius=["30%", "75%"],
center=["25%", "50%"],
rosetype="radius",
label_opts=opts.LabelOpts(is_show=False),
)
.add(
"",
[list(z) for z in zip(v, Faker.values())],
radius=["30%", "75%"],
center=["75%", "50%"],
rosetype="area",
)
.set_global_opts(title_opts=opts.TitleOpts(title="Пример диаграммы "пирог-роза"))
)
return c
def grid_mutil_yaxis() -> Grid:
x_data = ["{}месяц".format(i) for i in range(1, 13)]
bar = (
Bar()
.add_xaxis(x_data)
.add_yaxis(
«испарение»,
[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],
yaxis_index=0,
color="#d14a61",
)
.add_yaxis(
«осадки»,
[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],
yaxis_index=1,
color="#5793f3",
)
.extend_axis(
yaxis=opts.AxisOpts(
name=«испарение»,
type_="value",
min_=0,
max_=250,
position="right",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#d14a61")
),
axislabel_opts=opts.LabelOpts(formatter="{value} ml"),
)
)
.extend_axis(
yaxis=opts.AxisOpts(
type_="value",
имя="температура",
min_=0,
max_=25,
position="left",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#675bba")
),
axislabel_opts=opts.LabelOpts(formatter="{value} °C"),
splitline_opts=opts.SplitLineOpts(
is_show=True, linestyle_opts=opts.LineStyleOpts(opacity=1)
),
)
)
.set_global_opts(
yaxis_opts=opts.AxisOpts(
name=«осадки»,
min_=0,
max_=250,
position="right",
offset=80,
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#5793f3")
),
axislabel_opts=opts.LabelOpts(formatter="{value} ml"),
),
title_opts=opts.TitleOpts(title="Grid-много Y Пример оси"),
tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
)
)
line = (
Line()
.add_xaxis(x_data)
.add_yaxis(
«средняя температура»,
[2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2],
yaxis_index=2,
color="#675bba",
label_opts=opts.LabelOpts(is_show=False),
)
)
bar.overlap(line)
return Grid().add(
bar, opts.GridOpts(pos_left="5%", pos_right="20%"), is_control_axis_index=True
)
def liquid_data_precision() -> Liquid:
c = (
Liquid()
.add(
"lq",
[0.3254],
label_opts=opts.LabelOpts(
font_size=50,
formatter=JsCode(
"""function (param) {
return (Math.floor(param.value * 10000) / 100) + '%';
}"""
),
position="inside",
),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Liquid-данные Точность"))
)
return c
def table_base() -> Table:
table = Table()
headers = ["City name", "Area", "Population", "Annual Rainfall"]
rows = [
["Brisbane", 5905, 1857594, 1146.4],
["Adelaide", 1295, 1158259, 600.5],
["Darwin", 112, 120900, 1714.7],
["Hobart", 1357, 205556, 619.5],
["Sydney", 2058, 4336374, 1214.8],
["Melbourne", 1566, 3806092, 646.9],
["Perth", 5386, 1554769, 869.4],
]
table.add(headers, rows).set_global_opts(
title_opts=opts.ComponentTitleOpts(title="Table")
)
return table
def page_simple_layout():
page = Page(layout=Page.SimplePageLayout)
page.add(
bar_datazoom_slider(),
line_markpoint(),
pie_rosetype(),
grid_mutil_yaxis(),
liquid_data_precision(),
table_base(),
)
page.render("page_simple_layout.html")
if __name__ == "__main__":
page_simple_layout()
from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Line, Pie, Tab
from pyecharts.faker import Faker
def bar_datazoom_slider() -> Bar:
c = (
Bar()
.add_xaxis(Faker.days_attrs)
.add_yaxis("Торговец А",Faker.days_values)
.set_global_opts(
title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-уровень)"), datazoom_opts=[opts.DataZoomOpts()],
)
)
return c
def line_markpoint() -> Line:
c = (
Line()
.add_xaxis(Faker.choose())
.add_yaxis(
«Бизнесмен А»,
Faker.values(),
markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="min")]),
)
.add_yaxis(
«Бизнесмен Б»,
Faker.values(),
markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max")]),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Line-MarkPoint"))
)
return c
def pie_rosetype() -> Pie:
v = Faker.choose()
c = (
Pie()
.add(
"",
[list(z) for z in zip(v, Faker.values())],
radius=["30%", "75%"],
center=["25%", "50%"],
rosetype="radius",
label_opts=opts.LabelOpts(is_show=False),
)
.add(
"",
[list(z) for z in zip(v, Faker.values())],
radius=["30%", "75%"],
center=["75%", "50%"],
rosetype="area",
)
.set_global_opts(title_opts=opts.TitleOpts(title="Пример диаграммы "пирог-роза"))
)
return c
def grid_mutil_yaxis() -> Grid:
x_data = ["{}месяц".format(i) for i in range(1, 13)]
bar = (
Bar()
.add_xaxis(x_data)
.add_yaxis(
«испарение»,
[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],
yaxis_index=0,
color="#d14a61",
)
.add_yaxis(
«осадки»,
[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],
yaxis_index=1,
color="#5793f3",
)
.extend_axis(
yaxis=opts.AxisOpts(
name=«испарение»,
type_="value",
min_=0,
max_=250,
position="right",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#d14a61")
),
axislabel_opts=opts.LabelOpts(formatter="{value} ml"),
)
)
.extend_axis(
yaxis=opts.AxisOpts(
type_="value",
имя="температура",
min_=0,
max_=25,
position="left",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#675bba")
),
axislabel_opts=opts.LabelOpts(formatter="{value} °C"),
splitline_opts=opts.SplitLineOpts(
is_show=True, linestyle_opts=opts.LineStyleOpts(opacity=1)
),
)
)
.set_global_opts(
yaxis_opts=opts.AxisOpts(
name=«осадки»,
min_=0,
max_=250,
position="right",
offset=80,
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="#5793f3")
),
axislabel_opts=opts.LabelOpts(formatter="{value} ml"),
),
title_opts=opts.TitleOpts(title="Grid-много Y Пример оси"),
tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
)
)
line = (
Line()
.add_xaxis(x_data)
.add_yaxis(
«средняя температура»,
[2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2],
yaxis_index=2,
color="#675bba",
label_opts=opts.LabelOpts(is_show=False),
)
)
bar.overlap(line)
return Grid().add(
bar, opts.GridOpts(pos_left="5%", pos_right="20%"), is_control_axis_index=True
)
tab = Tab()
tab.add(bar_datazoom_slider(), "bar-example")
tab.add(line_markpoint(), "line-example")
tab.add(pie_rosetype(), "pie-example")
tab.add(grid_mutil_yaxis(), "grid-example")
tab.render("tab_base.html")
from pyecharts import options as opts
from pyecharts.charts import Bar, Timeline
from pyecharts.faker import Faker
tl = Timeline()
for i in range(2015, 2020):
bar = (
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("Торговец А", Faker.values(), label_opts=opts.LabelOpts(position="right"))
.add_yaxis("Торговец Б", Faker.values(), label_opts=opts.LabelOpts(position="right"))
.reversal_axis()
.set_global_opts(
title_opts=opts.TitleOpts("Timeline-Bar-Reversal (время: {} год)".format(i))
)
)
tl.add(bar, "{}год".format(i))
tl.render("timeline_bar_reversal.html")
from pyecharts.components import Table
from pyecharts.options import ComponentTitleOpts
table = Table()
headers = ["City name", "Area", "Population", "Annual Rainfall"]
rows = [
["Brisbane", 5905, 1857594, 1146.4],
["Adelaide", 1295, 1158259, 600.5],
["Darwin", 112, 120900, 1714.7],
["Hobart", 1357, 205556, 619.5],
["Sydney", 2058, 4336374, 1214.8],
["Melbourne", 1566, 3806092, 646.9],
["Perth", 5386, 1554769, 869.4],
]
table.add(headers, rows)
table.set_global_opts(
title_opts=ComponentTitleOpts(title="Таблица — базовый пример", subtitle="яда副заголовокподдерживать Разрыв строки")
)
table.render("table_base.html")
from pyecharts.components import Image
from pyecharts.options import ComponentTitleOpts
image = Image()
img_src = (
"https://user-images.githubusercontent.com/19553554/"
"71825144-2d568180-30d6-11ea-8ee0-63c849cfd934.png"
)
image.add(
src=img_src,
style_opts={"width": "200px", "height": "200px", "style": "margin-top: 20px"},
)
image.set_global_opts(
title_opts=ComponentTitleOpts(title="Базовый пример изображения", subtitle="яда副заголовокподдерживать Разрыв строки")
)
image.render("image_base.html")