Как изменить размер фигуры в Plotly на Python
В этой статье мы обсудим, как мы можем изменить размер фигуры в 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() |
Выход: