您好,登錄后才能下訂單哦!
這篇文章主要介紹python可視化plotly圖例設置的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
import plotly.io as pio import plotly.express as px import plotly.graph_objects as go from plotly.subplots import make_subplots import pandas as pd import numpy as np # 設置plotly默認主題 pio.templates.default = 'plotly_white' # 設置pandas打印時顯示所有列 pd.set_option('display.max_columns', None)
官方文檔:https://plotly.com/python/reference/layout/#layout-showlegend
官方示例:https://plotly.com/python/legend/
showlegend:是否顯示圖例,以下任一種情況發生時,該參數默認值為 True:1. 兩個及兩個以上的 trace 2. 有餅圖3. 有一個 trace 顯式指定 showlegend=True
legend:圖例相關設置,字典類型,可取屬性如下:
bgcolor
:設置圖例的背景顏色
bordercolor
:設置圖例邊框的顏色
borderwidth
:設置圖例邊框的寬度
font
:設置圖例條目的文本字體,字典類型,可取屬性如下:
color
:字體顏色
family
:字體,字符串,可以為 Arial、Balto、Courier New、Droid Sans、Droid Serif、Droid Sans Mono、Gravitas One、Old Standard TT、Open Sans、Overpass、PT Sans Narrow、Raleway、Times New Roman
size
:字體大小
orientation
:設置圖例的方向。'v'(默認值)表示豎直顯示圖例、'h'表示水平顯示圖例
title
:設置圖例的標題,字典類型,可取屬性如下:
font:設置圖例條目的文本字體,字典類型,可取屬性如下:
color
:字體顏色
family
:字體,字符串,可以為 Arial、Balto、Courier New、Droid Sans、Droid Serif、Droid Sans Mono、Gravitas One、Old Standard TT、Open Sans、Overpass、PT Sans Narrow、Raleway、Times New Roman
size
:字體大小
side
:設置圖例標題相對于條目的位置。當 orientation='v' 時默認為 'top'、當 orientation='h'時默認為 'left'、當為 'top left'時可用于擴展圖例的面積text
:設置圖例標題
grouptitlefont:設置圖例組名的文本字體,字典類型,可取屬性如下:
color
:字體顏色
family
:字體,字符串,可以為 Arial、Balto、Courier New、Droid Sans、Droid Serif、Droid Sans Mono、Gravitas One、Old Standard TT、Open Sans、Overpass、PT Sans Narrow、Raleway、Times New Roman
size
:字體大小
itemsizing:設置圖例條目的符號是否跟其 ‘trace’ 有關,如果為 'constant',則所有條目的符號大小一致。
可取 'trace'、 'constant'
itemwidth:設置條目的寬度(除 title 以外的部分)
大于等于30的浮點數,默認值為30
tracegroupgap:設置圖例組之間的間隔
大于等于0的浮點數,默認值為10
traceorder:設置圖例條目的順序。如果為 'normal',條目將從上到下按照輸入數據的順序排列;如果為 'reversed',則按照輸入數據的逆序排列;如果為 'grouped',條目按照組順序顯示(如果 trace 中的legendgroup 設定了);如果為 'grouped+reversed',則與 'grouped'的順序相反
valign:設置條目符號和對應文本的豎直對齊方式。
可取 'middle'(默認值)、'top'、'bottom'
df = px.data.gapminder().query("year==2007") fig = px.scatter(df, x="gdpPercap", y="lifeExp", color="continent", size="pop", size_max=45, log_x=True) fig.update_layout(legend=dict( yanchor="top", y=0.99, xanchor="left", x=0.01 )) fig.write_image('../pic/legend_1.png', scale=2) fig.show()
df = px.data.gapminder().query("year==2007") fig = px.scatter(df, x="gdpPercap", y="lifeExp", color="continent", size="pop", size_max=45, log_x=True) fig.update_layout(legend=dict( orientation="h", yanchor="bottom", y=1.02, xanchor="center", x=0.5, title_text='' )) fig.write_image('../pic/legend_2.png', scale=2) fig.show()
df = px.data.gapminder().query("year==2007") fig = px.scatter(df, x="gdpPercap", y="lifeExp", color="continent", size="pop", size_max=45, log_x=True) fig.update_layout( legend=dict( x=0, y=1, traceorder="reversed", title_font_family="Times New Roman", font=dict( family="Courier", size=12, color="black" ), bgcolor="LightSteelBlue", bordercolor="Black", borderwidth=2 ) ) fig.write_image('../pic/legend_3.png', scale=2) fig.show()
fig = go.Figure() # 使用 name 參數指定條目文本,legendrank 指定順序 fig.add_trace(go.Bar(name="fourth", x=["a", "b"], y=[2,1], legendrank=4)) fig.add_trace(go.Bar(name="second", x=["a", "b"], y=[2,1], legendrank=2)) fig.add_trace(go.Bar(name="first", x=["a", "b"], y=[1,2], legendrank=1)) fig.add_trace(go.Bar(name="third", x=["a", "b"], y=[1,2], legendrank=3)) fig.write_image('../pic/legend_4.png', scale=2) fig.show()
fig = go.Figure() fig.add_trace(go.Scatter( x=[1, 2, 3], y=[2, 1, 3], legendgroup="group", # this can be any string, not just "group" legendgrouptitle_text="First Group Title", name="first legend group", mode="markers", marker=dict(color="Crimson", size=10) )) fig.add_trace(go.Scatter( x=[1, 2, 3], y=[2, 2, 2], legendgroup="group", name="first legend group - average", mode="lines", line=dict(color="Crimson") )) fig.add_trace(go.Scatter( x=[1, 2, 3], y=[4, 9, 2], legendgroup="group2", legendgrouptitle_text="Second Group Title", name="second legend group", mode="markers", marker=dict(color="MediumPurple", size=10) )) fig.add_trace(go.Scatter( x=[1, 2, 3], y=[5, 5, 5], legendgroup="group2", name="second legend group - average", mode="lines", line=dict(color="MediumPurple") )) fig.update_layout(title="Try Clicking on the Legend Items!") fig.write_image('../pic/legend_5.png', scale=2) fig.show()
fig = go.Figure() fig.add_trace(go.Scatter( x=[1, 2, 3, 4, 5], y=[1, 2, 3, 4, 5], )) fig.add_trace(go.Scatter( x=[1, 2, 3, 4, 5], y=[5, 4, 3, 2, 1], visible='legendonly' )) fig.write_image('../pic/legend_6.png', scale=2) fig.show()
fig = go.Figure() fig.add_trace(go.Scatter( x=[1, 2, 3, 4, 5], y=[1, 2, 3, 4, 5], showlegend=False )) fig.add_trace(go.Scatter( x=[1, 2, 3, 4, 5], y=[5, 4, 3, 2, 1], )) fig.update_layout(showlegend=True) fig.write_image('../pic/legend_7.png', scale=2) fig.show()
fig = go.Figure() fig.add_trace(go.Scatter( x=[1, 2, 3, 4, 5], y=[1, 2, 3, 4, 5], mode='markers', marker={'size':10} )) fig.add_trace(go.Scatter( x=[1, 2, 3, 4, 5], y=[5, 4, 3, 2, 1], mode='markers', marker={'size':100} )) fig.update_layout(legend= {'itemsizing': 'trace'}) fig.write_image('../pic/legend_8.png', scale=2) fig.show()
以上是“python可視化plotly圖例設置的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。