Как изменить размер фигуры в Plotly на Python

Опубликовано: 21 Февраля, 2023

В этой статье мы обсудим, как мы можем изменить размер фигуры в Plotly на Python. Давайте сначала поговорим о Plotly в Python.

сюжетно

Библиотека Python предоставляет нам интерактивную библиотеку Plotly с открытым исходным кодом, которая может поддерживать более 40 уникальных типов диаграмм, охватывающих широкий список статистических, финансовых, географических, научных и трехмерных вариантов использования.

Чтобы установить сюжет, выполните следующую команду в терминале:

pip3 install plotly.express

После того, как мы установили библиотеку, теперь мы можем изменить размер фигуры, манипулируя размером графика и размерами полей. Это также может быть достигнуто с использованием различных методов для различных вариантов использования.

Изменение высоты, ширины и полей с помощью Plotly Express

Теперь мы попробуем изменить размер фигуры, изменив ширину и высоту с помощью Plotly Express. Его можно использовать для построения тех же интерактивных диаграмм с помощью нескольких строк кода.

Давайте посмотрим на пример, где мы сначала импортировали библиотеку plotly.express. Затем мы будем использовать метод data.wind() для создания фрейма данных, а затем построим диаграмму рассеяния для фрейма данных.

Python




# Importing plotly library
import plotly.express as plotly
  
# Create a dataframe
dataFrame = plotly.data.wind()
  
# Plot the figure
myFigure = plotly.scatter(dataFrame, x="direction", y="frequency",
                 width=400, height=400)
  
# Display the figure
myFigure.show()

Выход:

Давайте рассмотрим пример, в котором мы можем обновить поля графика, используя размеры полей: правое верхнее, левое и нижнее (l, r, t, b). И эти параметры поля были переданы методу update_layout(), который вызывается для объекта фигуры. Применив это, мы, наконец, построили графические объекты в области диаграммы, чтобы обеспечить лучшую визуализацию.

Python3




# Importing plotly.express library
import plotly.express as plotly
  
# Creating a dataframe
dataframe = plotly.data.tips()
  
# Creating a figure using scatter() method
myFigure = plotly.scatter(dataframe, x="total_bill",
                          y="tip", facet_col="sex",
                          width=600, height=400)
  
# Modifying the figure layout update_layout() method
myFigure.update_layout(
    margin=dict(l=30, r=30, t=30, b=20),
    paper_bgcolor="LightSteelBlue",
)
  
# Display the figure to console
myFigure.show()

Выход:

Измените высоту, ширину и поля с помощью графических объектов в графике

Теперь мы будем использовать графические объекты вместо сюжетного экспресса, чтобы изменить высоту, ширину и поля. Чтобы иметь больший контроль над элементами диаграммы, можно использовать графические объекты вместо графического выражения. Графические объекты считаются строительными блоками фигур на низком уровне.

Python3




# Importing plotly.graph_objects and plotly.express
import plotly.graph_objects as plotly
import plotly.express as px
  
# Generating a figure
myFigure = plotly.Figure()
  
# Creating a dataframe
dataFrame = px.data.wind()
  
# Add traces to the figure
myFigure.add_trace(plotly.Scatter(
    x=dataFrame["direction"],
    y=dataFrame["frequency"]
))
  
# Display the figure
myFigure.show()

Выход:

В этом примере для установки области диаграммы мы использовали высоту и ширину. Параметры поля используются для установки объектов графика. Обратите внимание, что на этот раз все эти аргументы использовались внутри функции update_layout() объекта фигуры.

Python3




# Importing plotly.graph_objects and plotly.express
import plotly.graph_objects as plotly
import plotly.express as px
  
# Generating a figure
myFigure = plotly.Figure()
  
# Creating a dataframe
dataFrame = px.data.wind()
  
# Adding traces to the figure
myFigure.add_trace(plotly.Scatter(
    x= dataFrame["direction"],
    y= dataFrame["frequency"]
))
  
  
# Lets update the figure using update_layout() method on myFigure
myFigure.update_layout(
    title="Wind Frequencies",
    xaxis_title="Direction",
    yaxis_title="Frequency",
    autosize=False,
    width=400,
    height=500,
    margin=dict(l=30,r=30,b=30,
                t=30,pad=3
                ),
    paper_bgcolor="LightSteelBlue",
)
  
# Display the figure
myFigure.show()

Выход:

Автоматизация изменений полей в графике

Теперь попробуем автоматизировать изменение полей в plotly.

Python3




# Importing plotly.graph_objects and plotly.express
import plotly.graph_objects as plotly
import plotly.express as px
  
myFigure = plotly.Figure()
  
myFigure.add_trace(plotly.Bar(
    x=["Moranp", "Turquoise", "Cornflower", "Raddles"],
    y=[6, 4, 5, 11]
))
  
myFigure.update_layout(
    autosize=False,
    width=700,
    height=700,
    yaxis=dict(
        title_text="Heights",
        ticktext=["little", "very long title", "long", "short title"],
        tickvals=[2, 4, 6, 8],
        tickmode="array",
        titlefont=dict(size=20),
    )
)
  
myFigure.update_yaxes(automargin=False)
  
myFigure.show()

Выход:

Как вы можете видеть выше, без использования манипулирования полями, метки деления оси Y перекрываются с заголовком оси Y.

Чтобы избежать этого перекрытия, мы должны установить «automargin» как True. Таким образом, он автоматически отрегулирует размер поля. И аргумент automargin будет препятствовать перекрытию меток делений заголовками осей.

Python3




myFigure.update_yaxes(automargin=True)
  
myFigure.show()

Выход: