簡體   English   中英

Plotly 圖:添加網格

[英]Plotly Figure: Add grid

我有一個 dataframe,看起來像這樣: 在此處輸入圖像描述

我想創建一個坐標 Plot:

fig = go.Figure(layout=dict(title="Pokemon Stats by Type"),
            
            data=
    go.Parcoords(
        line = dict(color = newdf['Type_enc'],
                    colorscale = [(0.0, "red"), (0.5, "red"), (0.5, "rgba(0, 0, 255, 0.7)"), (1.0, "rgba(0, 0, 255, 0.7)")],
                    showscale = True,
                    colorbar=dict(title="Type",tickvals=[0,1],ticktext=["Fire","Water"])),

        dimensions = list([
            dict(range = [0,cap],
                 label = 'Attack', values = newdf["Attack"]),

            dict(range = [0,cap],
                 tickvals = [0,180],
                 ticktext = ['0', '180'],
                 label = 'Defense', values = newdf["Defense"]),

            dict(range = [0,cap],
                 tickvals = [0,180],
                 ticktext = ['0', '180'],
                 label = 'HP', values = newdf["HP"]),

            dict(range = [0,cap],
                 tickvals = [0,180],
                 ticktext = ['0', '180'],
                 label = 'Sp.Attack', values = newdf["Sp.Attack"]),

            dict(range = [0,cap],
                 tickvals = [0,180],
                 ticktext = ['0', '180'],
                 label = 'Sp.Defense', values = newdf["Sp.Defense"]),

            dict(range = [0,cap],
                 tickvals = [0,180],
                 ticktext = ['0', '180'],
                 label = 'Speed', values = newdf["Speed"])
        ]),
)

)

這是 output: 在此處輸入圖像描述

我試圖在圖中添加一個網格,但這段代碼似乎不起作用:

fig.update_xaxes(
gridcolor="black",
dtick=25,showgrid=True)

fig.update_yaxes(
gridcolor="black",
dtick=25,showgrid=True)

所需的網格 output 應如下所示(分 25 個步驟) 在此處輸入圖像描述

誰能幫我添加那個網格? 先感謝您!

我不認為網格功能是在 plotly 的平行坐標圖中實現的。 所以我通過添加水平線制作了一個偽網格。 由於數據的呈現不能在圖像中重復使用,所以我根據參考中的示例以0到8的兩個單元繪制了線條。 應修改此指定值以適合您的數據; 它略微偏離 y 軸刻度,但您可以決定此錯誤是否可以接受。

import plotly.graph_objects as go
import numpy as np
import pandas as pd

df = pd.read_csv("https://raw.githubusercontent.com/bcdunbar/datasets/master/iris.csv")

fig = go.Figure()

for i in np.arange(0, 9, 2.0):
    fig.add_hline(y=i, line_color='#2a3f5f', line_width=0.5)
    
fig.add_trace(go.Parcoords(
        line = dict(color = df['species_id'],
                   colorscale = [[0,'purple'],[0.5,'lightseagreen'],[1,'gold']]),
        dimensions = list([
            dict(range = [0,8],
                constraintrange = [4,8],
                label = 'Sepal Length', values = df['sepal_length']),
            dict(range = [0,8],
                label = 'Sepal Width', values = df['sepal_width']),
            dict(range = [0,8],
                label = 'Petal Length', values = df['petal_length']),
            dict(range = [0,8],
                label = 'Petal Width', values = df['petal_width'])
        ])
    )
)

fig.update_xaxes(showticklabels=False)
fig.update_yaxes(showticklabels=False)
fig.update_layout(plot_bgcolor = 'white', paper_bgcolor = 'white')

fig.show()

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM