密谋:如何在折线图上显示指定阈值的不同颜色段? 情节完整代码

如何解决密谋:如何在折线图上显示指定阈值的不同颜色段? 情节完整代码

我有一个多线图,显示了随时间的增长百分比。我想在代码中设置一个阈值以具有上限和下限。如果线超出了这些界限,我希望线图的特定部分的颜色与其父级不同。

这就是我在做什么:

import plotly.express as px
import plotly.graph_objects as go



fig = px.line(df14,x = "Date",y = "Percent",color = "POD",title = "POD Growth in Percentage (US)",labels = {"Percent": "Percent Growth"})

fig.update_layout(
font_family="Arial",font_color="black",title_font_family="Arial",title_font_color="black",legend_title_font_color="black"                                           #style the text (legend,title etc)
)


fig.update_xaxes(title_font_family="Arial")                               #style ance center title
fig.update_layout(
title={
    'text': "POD Growth Percentage in US (Line Graph)",'y':0.9,'x':0.5,'xanchor': 'center','yanchor': 'top'})


fig.update_traces(mode='markers+lines')                                    #add dots to line

fig.show()

这是视觉效果:

![image|690x328](upload://hujUQbdPtbCAiXQoTTwLmzAAi02.png)

让我放大一行以更好地说明:

我希望为每个POD设置一个阈值,并且如果该行高于或低于此阈值,则该行的该部分的颜色将有所不同 。例如:

POD IAD的上限可能是5,IAD的下限可能是0。 任何大于5或小于0的值都将以特定颜色突出显示。

POD SJC的上限可能是10,SJC的下限可能是3 任何大于10或小于3的值都应突出显示为特定颜色。

我想要每个POD的阈值

请参见以下内容:

enter image description here

线条的突出显示的黄色部分反映了折线图超出或减小了设置阈值的位置。使用Plotly可以做到这一点吗?

以下是原始数据示例: 已更新:

    POD      Start      End         Diff        Percent     Date        
    IAD     4/1/2019    5/1/2019    160.4279    11.10809    04-01-2019 to 05-01-2019
    IAD     5/1/2019    6/1/2019    136.0248    8.476798    05-01-2019 to 06-01-2019
    IAD     6/1/2019    7/1/2019    174.0513    9.998946    06-01-2019 to 07-01-2019
    IAD     7/1/2019    8/1/2019    112.0424    5.851551    07-01-2019 to 08-01-2019
    IAD     8/1/2019    9/1/2019    141.8488    6.998691    08-01-2019 to 09-01-2019
    IAD     9/1/2019    10/1/2019   103.5522    4.774984    09-01-2019 to 10-01-2019
    IAD     10/1/2019   11/1/2019   125.6087    5.528085    10-01-2019 to 11-01-2019
    IAD     11/1/2019   12/1/2019   145.2591    6.058016    11-01-2019 to 12-01-2019
    IAD     12/1/2019   1/1/2020    115.5121    4.542251    12-01-2019 to 01-01-2020
    IAD     1/1/2020    2/1/2020    185.7191    6.985673    01-01-2020 to 02-01-2020
    IAD     2/1/2020    3/1/2020    126.7386    4.455896    02-01-2020 to 03-01-2020
    IAD     3/1/2020    4/1/2020    231.3461    7.786734    03-01-2020 to 04-01-2020
    IAD     4/1/2020    5/1/2020    97.02587      3.02981   04-01-2020 to 05-01-2020
    IAD     5/1/2020    6/1/2020    42.85235      1.298792  05-01-2020 to 06-01-2020
    IAD     6/1/2020    7/1/2020    124.666    3.729997     06-01-2020 to 07-01-2020
    IAD     7/1/2020    8/1/2020    357.9974    10.32609    07-01-2020 to 08-01-2020
    IAD     8/1/2020    9/1/2020    490.9587      12.8358   08-01-2020 to 09-01-2020
    IAD     9/1/2020    10/1/2020   204.5478    4.739428    09-01-2020 to 10-01-2020
    IAD     10/1/2020   11/1/2020   287.6025    6.362292    10-01-2020 to 11-01-2020
   SJCtest  4/1/2019    5/1/2019    12.38486    5.780551    04-01-2019 to 05-01-2019
   SJCtest  5/1/2019    6/1/2019    -2.61735    -1.15487    05-01-2019 to 06-01-2019
   SJCtest  6/1/2019    7/1/2019    -5.6187    -2.50814     06-01-2019 to 07-01-2019
   SJCtest  7/1/2019    8/1/2019    3.204252    1.467153    07-01-2019 to 08-01-2019
   SJCtest  8/1/2019    9/1/2019    -25.3782    -11.4521    08-01-2019 to 09-01-2019
   SJCtest  9/1/2019    10/1/2019   -10.9717    -5.59137    09-01-2019 to 10-01-2019

更新后的原始数据

> {'Unnamed: 0': {0: 1,1: 2,2: 3,3: 4,4: 5,5: 6,6: 7,> 7: 8,8: 9,9: 10,10: 11,11: 12,12: 13,13: 14,14:
> 15,15: 16,16: 17,17: 18,18: 19,19: 21,20: 22,21:
> 23,22: 24,23: 25,24: 26,25: 27,26: 28,27: 29,28:
> 30,29: 31,30: 32,31: 33,32: 34,33: 35,34: 36,35:
> 37,36: 38,37: 40,38: 41,39: 42,40: 43,41: 44,42:
> 45,43: 46,44: 47,45: 48,46: 49,47: 50,48: 51,49:
> 52,50: 53,51: 54,52: 55,53: 56,54: 57,55: 58,56:
> 60,57: 61,58: 62,59: 63,60: 64,61: 65,62: 66,63:
> 67,64: 68,65: 69,66: 70,67: 71,68: 72,69: 73,70:
> 74,71: 75,72: 76,73: 77,74: 78,75: 80,76: 81,77:
> 82,78: 83,79: 84,80: 85,81: 86,82: 87,83: 88,84:
> 89,85: 90,86: 91,87: 92,88: 93,89: 94,90: 95,91:
> 96,92: 97,93: 98,94: 100,95: 101,96: 102,97: 103,> 98: 104,99: 105,100: 106,101: 107,102: 108,103: 109,> 104: 110,105: 111,106: 112,107: 113,108: 114,109: 115,> 110: 116,111: 117,112: 118,113: 120,114: 121,115: 122,> 116: 123,117: 124,118: 125,119: 126,120: 127,121: 128,> 122: 129,123: 130,124: 131,125: 132,126: 133,127: 134,> 128: 135,129: 136,130: 137,131: 138,132: 140,133: 141,> 134: 142,135: 143,136: 144,137: 145,138: 146,139: 147,> 140: 148,141: 149,142: 150,143: 151,144: 152,145: 153,> 146: 155,147: 156,148: 157,149: 158,150: 159,151: 160,> 152: 161,153: 162,154: 163,155: 164,156: 165,157: 166,> 158: 167,159: 168,160: 169,161: 170,162: 171,163: 172,> 164: 173},'POD': {0: 'IAD ',1: 'IAD ',2: 'IAD ',3: 'IAD ',> 4: 'IAD ',5: 'IAD ',6: 'IAD ',7: 'IAD ',8: 'IAD ',9:
> 'IAD ',10: 'IAD ',11: 'IAD ',12: 'IAD ',13: 'IAD ',14:
> 'IAD ',15: 'IAD ',16: 'IAD ',17: 'IAD ',18: 'IAD ',19:
> 'SJCtest ',20: 'SJCtest ',21: 'SJCtest ',22: 'SJCtest ',> 23: 'SJCtest ',24: 'SJCtest ',25: 'SJCtest ',26: 'SJCtest ',> 27: 'SJCtest ',28: 'SJCtest ',29: 'SJCtest ',30: 'SJCtest ',> 31: 'SJCtest ',32: 'SJCtest ',33: 'SJCtest ',34: 'SJCtest ',> 35: 'SJCtest ',36: 'SJCtest ',37: 'SJCtest2 ',38: 'SJCtest2
> ',39: 'SJCtest2 ',40: 'SJCtest2 ',41: 'SJCtest2 ',42:
> 'SJCtest2 ',43: 'SJCtest2 ',44: 'SJCtest2 ',45: 'SJCtest2 ',> 46: 'SJCtest2 ',47: 'SJCtest2 ',48: 'SJCtest2 ',49: 'SJCtest2
> ',50: 'SJCtest2 ',51: 'SJCtest2 ',52: 'SJCtest2 ',53:
> 'SJCtest2 ',54: 'SJCtest2 ',55: 'SJCtest2 ',56: 'SJCtest3 ',> 57: 'SJCtest3 ',58: 'SJCtest3 ',59: 'SJCtest3 ',60: 'SJCtest3
> ',61: 'SJCtest3 ',62: 'SJCtest3 ',63: 'SJCtest3 ',64:
> 'SJCtest3 ',65: 'SJCtest3 ',66: 'SJCtest3 ',67: 'SJCtest3 ',> 68: 'SJCtest3 ',69: 'SJCtest3 ',70: 'SJCtest3 ',71: 'SJCtest3
> ',72: 'SJCtest3 ',73: 'SJCtest3 ',74: 'SJCtest3 ',75:
> 'SJCtest4 ',76: 'SJCtest4 ',77: 'SJCtest4 ',78: 'SJCtest4 ',> 79: 'SJCtest4 ',80: 'SJCtest4 ',81: 'SJCtest4 ',82: 'SJCtest4
> ',83: 'SJCtest4 ',84: 'SJCtest4 ',85: 'SJCtest4 ',86:
> 'SJCtest4 ',87: 'SJCtest4 ',88: 'SJCtest4 ',89: 'SJCtest4 ',> 90: 'SJCtest4 ',91: 'SJCtest4 ',92: 'SJCtest4 ',93: 'SJCtest4
> ',94: 'SJCtest5 ',95: 'SJCtest5 ',96: 'SJCtest5 ',97:
> 'SJCtest5 ',98: 'SJCtest5 ',99: 'SJCtest5 ',100: 'SJCtest5 ',> 101: 'SJCtest5 ',102: 'SJCtest5 ',103: 'SJCtest5 ',104:
> 'SJCtest5 ',105: 'SJCtest5 ',106: 'SJCtest5 ',107: 'SJCtest5
> ',108: 'SJCtest5 ',109: 'SJCtest5 ',110: 'SJCtest5 ',111:
> 'SJCtest5 ',112: 'SJCtest5 ',113: 'SJCtest6 ',114: 'SJCtest6
> ',115: 'SJCtest6 ',116: 'SJCtest6 ',117: 'SJCtest6 ',118:
> 'SJCtest6 ',119: 'SJCtest6 ',120: 'SJCtest6 ',121: 'SJCtest6
> ',122: 'SJCtest6 ',123: 'SJCtest6 ',124: 'SJCtest6 ',125:
> 'SJCtest6 ',126: 'SJCtest6 ',127: 'SJCtest6 ',128: 'SJCtest6
> ',129: 'SJCtest6 ',130: 'SJCtest6 ',131: 'SJCtest6 ',132:
> 'SJCa ',133: 'SJCa ',134: 'SJCa ',135: 'SJCa ',136: 'SJCa
> ',137: 'SJCa ',138: 'SJCa ',139: 'SJCa ',140: 'SJCa ',> 141: 'SJCa ',142: 'SJCa ',143: 'SJCa ',144: 'SJCa ',145:
> 'SJCa ',146: 'SJCb ',147: 'SJCb ',148: 'SJCb ',149: 'SJCb
> ',150: 'SJCb ',151: 'SJCb ',152: 'SJCb ',153: 'SJCb ',> 154: 'SJCb ',155: 'SJCb ',156: 'SJCb ',157: 'SJCb ',158:
> 'SJCb ',159: 'SJCb ',160: 'SJCb ',161: 'SJCb ',162: 'SJCb
> ',163: 'SJCb ',164: 'SJCb '},'Start_Date': {0: '4/1/2019',> 1: '5/1/2019',2: '6/1/2019',3: '7/1/2019',4: '8/1/2019',5:
> '9/1/2019',6: '10/1/2019',7: '11/1/2019',8: '12/1/2019',9:
> '1/1/2020',10: '2/1/2020',11: '3/1/2020',12: '4/1/2020',> 13: '5/1/2020',14: '6/1/2020',15: '7/1/2020',16: '8/1/2020',> 17: '9/1/2020',18: '10/1/2020',19: '4/1/2019',20: '5/1/2019',> 21: '6/1/2019',22: '7/1/2019',23: '8/1/2019',24: '9/1/2019',> 25: '10/1/2019',26: '11/1/2019',27: '12/1/2019',28:
> '1/1/2020',29: '2/1/2020',30: '3/1/2020',31: '4/1/2020',> 32: '5/1/2020',33: '6/1/2020',34: '7/1/2020',35: '8/1/2020',> 36: '9/1/2020',37: '4/1/2019',38: '5/1/2019',39: '6/1/2019',> 40: '7/1/2019',41: '8/1/2019',42: '9/1/2019',43: '10/1/2019',> 44: '11/1/2019',45: '12/1/2019',46: '1/1/2020',47:
> '2/1/2020',48: '3/1/2020',49: '4/1/2020',50: '5/1/2020',> 51: '6/1/2020',52: '7/1/2020',53: '8/1/2020',54: '9/1/2020',> 55: '10/1/2020',56: '4/1/2019',57: '5/1/2019',58: '6/1/2019',> 59: '7/1/2019',60: '8/1/2019',61: '9/1/2019',62: '10/1/2019',> 63: '11/1/2019',64: '12/1/2019',65: '1/1/2020',66:
> '2/1/2020',67: '3/1/2020',68: '4/1/2020',69: '5/1/2020',> 70: '6/1/2020',71: '7/1/2020',72: '8/1/2020',73: '9/1/2020',> 74: '10/1/2020',75: '4/1/2019',76: '5/1/2019',77: '6/1/2019',> 78: '7/1/2019',79: '8/1/2019',80: '9/1/2019',81: '10/1/2019',> 82: '11/1/2019',83: '12/1/2019',84: '1/1/2020',85:
> '2/1/2020',86: '3/1/2020',87: '4/1/2020',88: '5/1/2020',> 89: '6/1/2020',90: '7/1/2020',91: '8/1/2020',92: '9/1/2020',> 93: '10/1/2020',94: '4/1/2019',95: '5/1/2019',96: '6/1/2019',> 97: '7/1/2019',98: '8/1/2019',99: '9/1/2019',100:
> '10/1/2019',101: '11/1/2019',102: '12/1/2019',103:
> '1/1/2020',104: '2/1/2020',105: '3/1/2020',106: '4/1/2020',> 107: '5/1/2020',108: '6/1/2020',109: '7/1/2020',110:
> '8/1/2020',111: '9/1/2020',112: '10/1/2020',113: '4/1/2019',> 114: '5/1/2019',115: '6/1/2019',116: '7/1/2019',117:
> '8/1/2019',118: '9/1/2019',119: '10/1/2019',120: '11/1/2019',> 121: '12/1/2019',122: '1/1/2020',123: '2/1/2020',124:
> '3/1/2020',125: '4/1/2020',126: '5/1/2020',127: '6/1/2020',> 128: '7/1/2020',129: '8/1/2020',130: '9/1/2020',131:
> '10/1/2020',132: '4/1/2019',133: '5/1/2019',134: '6/1/2019',> 135: '7/1/2019',136: '8/1/2019',137: '9/1/2019',138:
> '10/1/2019',139: '11/1/2019',140: '12/1/2019',141:
> '1/1/2020',142: '2/1/2020',143: '3/1/2020',144: '4/1/2020',> 145: '5/1/2020',146: '4/1/2019',147: '5/1/2019',148:
> '6/1/2019',149: '7/1/2019',150: '8/1/2019',151: '9/1/2019',> 152: '10/1/2019',153: '11/1/2019',154: '12/1/2019',155:
> '1/1/2020',156: '2/1/2020',157: '3/1/2020',158: '4/1/2020',> 159: '5/1/2020',160: '6/1/2020',161: '7/1/2020',162:
> '8/1/2020',163: '9/1/2020',164: '10/1/2020'},'End_Date': {0:
> '5/1/2019',1: '6/1/2019',2: '7/1/2019',3: '8/1/2019',4:
> '9/1/2019',5: '10/1/2019',6: '11/1/2019',7: '12/1/2019',8:
> '1/1/2020',9: '2/1/2020',10: '3/1/2020',11: '4/1/2020',12:
> '5/1/2020',13: '6/1/2020',14: '7/1/2020',15: '8/1/2020',> 16: '9/1/2020',17: '10/1/2020',18: '11/1/2020',19:
> '5/1/2019',20: '6/1/2019',21: '7/1/2019',22: '8/1/2019',> 23: '9/1/2019',24: '10/1/2019',25: '11/1/2019',26:
> '12/1/2019',27: '1/1/2020',28: '2/1/2020',29: '3/1/2020',> 30: '4/1/2020',31: '5/1/2020',32: '6/1/2020',33: '7/1/2020',> 34: '8/1/2020',35: '9/1/2020',36: '10/1/2020',37: '5/1/2019',> 38: '6/1/2019',39: '7/1/2019',40: '8/1/2019',41: '9/1/2019',> 42: '10/1/2019',43: '11/1/2019',44: '12/1/2019',45:
> '1/1/2020',46: '2/1/2020',47: '3/1/2020',48: '4/1/2020',> 49: '5/1/2020',50: '6/1/2020',51: '7/1/2020',52: '8/1/2020',> 53: '9/1/2020',54: '10/1/2020',55: '11/1/2020',56:
> '5/1/2019',57: '6/1/2019',58: '7/1/2019',59: '8/1/2019',> 60: '9/1/2019',61: '10/1/2019',62: '11/1/2019',63:
> '12/1/2019',64: '1/1/2020',65: '2/1/2020',66: '3/1/2020',> 67: '4/1/2020',68: '5/1/2020',69: '6/1/2020',70: '7/1/2020',> 71: '8/1/2020',72: '9/1/2020',73: '10/1/2020',74:
> '11/1/2020',75: '5/1/2019',76: '6/1/2019',77: '7/1/2019',> 78: '8/1/2019',79: '9/1/2019',80: '10/1/2019',81:
> '11/1/2019',82: '12/1/2019',83: '1/1/2020',84: '2/1/2020',> 85: '3/1/2020',86: '4/1/2020',87: '5/1/2020',88: '6/1/2020',> 89: '7/1/2020',90: '8/1/2020',91: '9/1/2020',92: '10/1/2020',> 93: '11/1/2020',94: '5/1/2019',95: '6/1/2019',96: '7/1/2019',> 97: '8/1/2019',98: '9/1/2019',99: '10/1/2019',100:
> '11/1/2019',101: '12/1/2019',102: '1/1/2020',103: '2/1/2020',> 104: '3/1/2020',105: '4/1/2020',106: '5/1/2020',107:
> '6/1/2020',108: '7/1/2020',109: '8/1/2020',110: '9/1/2020',> 111: '10/1/2020',112: '11/1/2020',113: '5/1/2019',114:
> '6/1/2019',115: '7/1/2019',116: '8/1/2019',117: '9/1/2019',> 118: '10/1/2019',119: '11/1/2019',120: '12/1/2019',121:
> '1/1/2020',122: '2/1/2020',123: '3/1/2020',124: '4/1/2020',> 125: '5/1/2020',126: '6/1/2020',127: '7/1/2020',128:
> '8/1/2020',129: '9/1/2020',130: '10/1/2020',131: '11/1/2020',> 132: '5/1/2019',133: '6/1/2019',134: '7/1/2019',135:
> '8/1/2019',136: '9/1/2019',137: '10/1/2019',138: '11/1/2019',> 139: '12/1/2019',140: '1/1/2020',141: '2/1/2020',142:
> '3/1/2020',143: '4/1/2020',144: '5/1/2020',145: '6/1/2020',> 146: '5/1/2019',147: '6/1/2019',148: '7/1/2019',149:
> '8/1/2019',150: '9/1/2019',151: '10/1/2019',152: '11/1/2019',> 153: '12/1/2019',154: '1/1/2020',155: '2/1/2020',156:
> '3/1/2020',157: '4/1/2020',158: '5/1/2020',159: '6/1/2020',> 160: '7/1/2020',161: '8/1/2020',162: '9/1/2020',163:
> '10/1/2020',164: '11/1/2020'},'Diff': {0: 160.427898,1:
> 136.02479,2: 174.05132,3: 112.042449,4: 141.848796,5: 103.55216800000001,6: 125.608671,7: 145.259097,8: 115.512121,9: 185.719089,10: 126.738628,11: 231.346125,12: 97.025865,> 13: 42.85235,14: 124.66596000000001,15: 357.99735400000003,> 16: 490.958654,17: 204.54779299999998,18: 287.602512,19:
> 12.384862,20: -2.6173490000000004,21: -5.618695,22: 3.204252,23: -25.378199,24: -10.971694,25: 4.3095989999999995,26:
> -18.804298,27: 2.172899,28: -13.781198000000002,29: -41.914787,30: -54.478880000000004,31: -12.569756,32: 5.212716,33: -8.354158,34: -24.797067000000002,35: -15.030110999999998,36: -6.733579,37: 20.515503,38: 16.911068,39: -3.20907,40: -6.310559,41: -28.37903,42: -2.468109,43: 17.733227,44: -7.246225999999999,45: 9.816127,46: -27.043909000000003,47: -14.444707000000001,48: -16.315007,> 49: -13.173909,50: 3.065297,51: -38.023148,52:
> -17.331557999999998,53: -79.566677,54: -9.81724,55: -14.70161,56: 0.7713479999999999,57: 1.438835,58: 2.093475,59: 15.108785999999998,60: -30.160431,61: -4.704619999999999,> 62: -11.864922,63: 8.38772,64: -9.329917,65:
> -13.411660999999999,66: -23.234234,67: -30.517737,68: -4.082799,69: -0.431963,70: -17.669752,71: -29.476111,72: -39.368627000000004,73: -10.156292,74: -5.152712999999999,75: 14.799759,76: 24.846001,77: 1.522557,78: 29.085378000000002,79: 17.490861,80: 9.210548,81: 5.272687,82: -34.114118,83:
> -14.522017000000002,84: 0.977517,85: 13.740992000000002,86: -46.837142,87: -35.071144,88: 31.125302,89: -6.35655,90: -76.485238,91: -30.657497999999997,92: -3.9887309999999996,93: 10.158892999999999,94: 13.419127,95: 5.169942,96:
> -1.2159360000000001,97: -14.750085,98: 2.939289,99: 7.890761,100: -17.168810999999998,101: -4.825164,102: -23.056132,103:
> -21.905035,104: -11.41048,105: -14.285372,106: -8.342461,107: 12.303987,108: 10.871853999999999,109: 28.386903000000004,> 110: -44.330884999999995,111: 16.979916,112: 19.051773999999998,> 113: 10.106931,114: -5.156007,115: 4.943011,116: -3.461768,> 117: 4.1415239999999995,118: 6.816288,119: 2.135951,120:
> -13.823120000000001,121: -10.989626,122: 0.418397,123: -18.981256,124: 11.320344,125: 10.697455999999999,126: -10.048842,127: -6.781886999999999,128: 1.679831,129: -14.090216,130: 9.935841,131: -8.609016,132: 0.633534,133: -0.998959,134: -11.890945,135: -4.731419,136: -16.508375,137: -6.705882000000001,138: -4.5014970000000005,139: 2.958923,> 140: -2.216122,141: 0.555845,142: 7.907547999999999,143:
> -19.098307000000002,144: 0.5591109999999999,145: 1.6575990000000003,146: 141.94400100000001,147: 120.173635,148: 142.15808700000002,149: 185.25196,150: 145.080391,151:
> 153.529132,152: 105.33828700000001,153: 114.990931,154: 110.346369,155: 313.465552,156: 183.225067,157: 97.446786,158: 147.22139199999998,159: 67.11041800000001,160: 202.904259,> 161: 283.446608,162: 435.956408,163: 138.866722,164:
> 265.60073700000004},'Percent': {0: 11.10808895,1: 8.476798147,2: 9.998946416,3: 5.8515509020000005,4: 6.998691053,5:
> 4.774983768999999,6: 5.528085128,7: 6.058015553,8: 4.542250752,9: 6.985672892999999,10: 4.455896349,11: 7.786734158,12: 3.0298095369999998,13: 1.29879184,14: 3.7299973910000004,15: 10.32609443,16: 12.83580027,17: 4.7394278430000005,18: 6.362291972,19: 5.780550638999999,20: -1.154871997,21: -2.50814364,22: 1.4671525440000002,23: -11.45206837,24: -5.591372156,25: 2.3263223280000003,26: -9.919797042999999,27: 1.2724943000000002,28: -7.96914578,29: -26.336533399999997,30: -46.46943194,31: -20.02922699,32: 10.38652118,33: -15.07969942,34: -52.70827375,35: -67.55468889,36: -93.27974007,37: 9.402813387,38: 7.084646625,39: -1.255449187,40: -2.500199374,41: -11.53189369,42: -1.133654425,43: 8.238642233,44: -3.110265117,45: 4.348584722,46: -11.48128956,47: -6.927792359,48: -8.407238632,49: -7.411730457000001,50: 1.862608372,51: -22.68204813,52: -13.37184892,53: -70.86406019,54: -30.00925321,55: -64.20813421,56: 0.34885011899999996,57: 0.6484658520000001,58: 0.937425444,59: 6.702646341,60: -12.53946732,61: -2.236423138,62:
> -5.769221736,63: 4.328161823,64: -4.614618367,65: -6.954385416,66: -12.94817733,67: -19.53685876,68: -3.248354565,69: -0.35521689700000003,70: -14.58219683,71: -28.47831486,72: -53.18101653,73: -29.30350463,74: -21.02918559,75: 4.4530310239999995,76: 7.157090832000001,77: 0.409291454,78: 7.786816239,79: 4.344409532,80: 2.192481078,81: 1.2281839890000001,82: -7.849900319,83: -3.626278258,84:
> 0.253279403,85: 3.5513629,86: -11.68991986,87: -9.911988763,88: 9.764667122999999,89: -1.8167818040000001,90: -22.26494689,> 91: -11.48058055,92: -1.6874205469999999,93: 4.371453667,94:
> 3.693729404,95: 1.3723787669999998,96: -0.318404648,97: -3.8747904839999996,98: 0.803264717,99: 2.139245828,100: -4.557108588999999,101: -1.3418922629999999,102: -6.499190071,103: -6.60391336,104: -3.68326232,105: -4.787607361,106:
> -2.936484265,107: 4.4619360210000005,108: 3.7741835389999996,109: 9.496161526,110: -13.54370813,111: 6.000260663,112:
> 6.351306448,113: 6.044575831,114: -2.907847111,115: 2.87121369,116: -1.954690645,117: 2.385137588,118: 3.834107345,119: 1.157091192,120: -7.402630086,121: -6.355712315,122: 0.258397668,123: -11.69241483,124: 7.896613534,125: 6.915983594,126: -6.076406612,127: -4.366230503,128: 1.1308641259999999,129: -9.379480147999999,130: 7.298593929,131: -5.89378179,132: 0.68192986,133:
> -1.067986868,134: -12.84984155,135: -5.86684522,136: -21.74577714,137: -11.28804499,138: -8.54156872,139: 6.138900437999999,140: -4.331875908,141: 1.1357134979999999,142: 15.97542343,143: -33.26897683,144: 1.459536053,145:
> 4.264846401000001,146: 9.352928661,147: 7.241180253,148: 7.987486665,149: 9.638910633,150: 6.885082487999999,151: 6.816699167,152: 4.378551195,153: 4.57927269,154: 4.201896452,155: 11.4551689,156: 6.007535563999999,157: 3.013993024,158: 4.4202763439999995,159: 1.9296724969999999,160: 5.723796667,161: 7.562955548,162: 10.81435501,163:
> 3.108563316,164: 5.766284604},'Date': {0: '04-01-2019 to 05-01-2019',1: '05-01-2019 to 06-01-2019',2: '06-01-2019 to
> 07-01-2019',3: '07-01-2019 to 08-01-2019',4: '08-01-2019 to
> 09-01-2019',5: '09-01-2019 to 10-01-2019',6: '10-01-2019 to
> 11-01-2019',7: '11-01-2019 to 12-01-2019',8: '12-01-2019 to
> 01-01-2020',9: '01-01-2020 to 02-01-2020',10: '02-01-2020 to
> 03-01-2020',11: '03-01-2020 to 04-01-2020',12: '04-01-2020 to
> 05-01-2020',13: '05-01-2020 to 06-01-2020',14: '06-01-2020 to
> 07-01-2020',15: '07-01-2020 to 08-01-2020',16: '08-01-2020 to
> 09-01-2020',17: '09-01-2020 to 10-01-2020',18: '10-01-2020 to
> 11-01-2020',19: '04-01-2019 to 05-01-2019',20: '05-01-2019 to
> 06-01-2019',21: '06-01-2019 to 07-01-2019',22: '07-01-2019 to
> 08-01-2019',23: '08-01-2019 to 09-01-2019',24: '09-01-2019 to
> 10-01-2019',25: '10-01-2019 to 11-01-2019',26: '11-01-2019 to
> 12-01-2019',27: '12-01-2019 to 01-01-2020',28: '01-01-2020 to
> 02-01-2020',29: '02-01-2020 to 03-01-2020',30: '03-01-2020 to
> 04-01-2020',31: '04-01-2020 to 05-01-2020',32: '05-01-2020 to
> 06-01-2020',33: '06-01-2020 to 07-01-2020',34: '07-01-2020 to
> 08-01-2020',35: '08-01-2020 to 09-01-2020',36: '09-01-2020 to
> 10-01-2020',37: '04-01-2019 to 05-01-2019',38: '05-01-2019 to
> 06-01-2019',39: '06-01-2019 to 07-01-2019',40: '07-01-2019 to
> 08-01-2019',41: '08-01-2019 to 09-01-2019',42: '09-01-2019 to
> 10-01-2019',43: '10-01-2019 to 11-01-2019',44: '11-01-2019 to
> 12-01-2019',45: '12-01-2019 to 01-01-2020',46: '01-01-2020 to
> 02-01-2020',47: '02-01-2020 to 03-01-2020',48: '03-01-2020 to
> 04-01-2020',49: '04-01-2020 to 05-01-2020',50: '05-01-2020 to
> 06-01-2020',51: '06-01-2020 to 07-01-2020',52: '07-01-2020 to
> 08-01-2020',53: '08-01-2020 to 09-01-2020',54: '09-01-2020 to
> 10-01-2020',55: '10-01-2020 to 11-01-2020',56: '04-01-2019 to
> 05-01-2019',57: '05-01-2019 to 06-01-2019',58: '06-01-2019 to
> 07-01-2019',59: '07-01-2019 to 08-01-2019',60: '08-01-2019 to
> 09-01-2019',61: '09-01-2019 to 10-01-2019',62: '10-01-2019 to
> 11-01-2019',63: '11-01-2019 to 12-01-2019',64: '12-01-2019 to
> 01-01-2020',65: '01-01-2020 to 02-01-2020',66: '02-01-2020 to
> 03-01-2020',67: '03-01-2020 to 04-01-2020',68: '04-01-2020 to
> 05-01-2020',69: '05-01-2020 to 06-01-2020',70: '06-01-2020 to
> 07-01-2020',71: '07-01-2020 to 08-01-2020',72: '08-01-2020 to
> 09-01-2020',73: '09-01-2020 to 10-01-2020',74: '10-01-2020 to
> 11-01-2020',75: '04-01-2019 to 05-01-2019',76: '05-01-2019 to
> 06-01-2019',77: '06-01-2019 to 07-01-2019',78: '07-01-2019 to
> 08-01-2019',79: '08-01-2019 to 09-01-2019',80: '09-01-2019 to
> 10-01-2019',81: '10-01-2019 to 11-01-2019',82: '11-01-2019 to
> 12-01-2019',83: '12-01-2019 to 01-01-2020',84: '01-01-2020 to
> 02-01-2020',85: '02-01-2020 to 03-01-2020',86: '03-01-2020 to

}}

任何建议都值得赞赏

更新

是否有一种方法可以使整行在其上显示标记点? 我已经尝试过:mode ='markers + lines'但没有得到想要的结果:

**Update,I have figured this out:** 
fig.update_traces(mode='markers+lines')    

enter image description here

更新的问题:

还可以在此处在悬停注释上添加日期和百分比标题吗?我正在研究Plotly文档。

enter image description here

解决方法

我整理了一条建议,该建议应完全符合您的要求。下图是由下面的代码示例产生的。该代码使用的词典包含针对您的不同POD的不同上限和下限,以及为不同容器设置不同颜色的可能性:

lim = {'IAD': {'lower': 90,'upper': 350,'color':'yellow'},'SJCtest': {'lower': 10,'upper': 12,'color':'green'}}

情节

enter image description here

我很想先过滤您的数据框,然后在此基础上向图中添加新的迹线。但是我的解决方案实际上是遍历每个迹线的每个数据点,并根据上面的字典为这些点着色。因此,无需任何数据处理。看看,进行一些测试,然后让我知道它如何为您工作。

完整代码

import pandas as pd
import plotly.express as px
import plotly.graph_objects as go

df = pd.DataFrame({'POD': {0: 'IAD',1: 'IAD',2: 'IAD',3: 'IAD',4: 'IAD',5: 'IAD',6: 'IAD',7: 'IAD',8: 'IAD',9: 'IAD',10: 'IAD',11: 'IAD',12: 'IAD',13: 'IAD',14: 'IAD',15: 'IAD',16: 'IAD',17: 'IAD',18: 'IAD',19: 'SJCtest',20: 'SJCtest',21: 'SJCtest',22: 'SJCtest',23: 'SJCtest',24: 'SJCtest'},'Start': {0: '4/1/2019',1: '5/1/2019',2: '6/1/2019',3: '7/1/2019',4: '8/1/2019',5: '9/1/2019',6: '10/1/2019',7: '11/1/2019',8: '12/1/2019',9: '1/1/2020',10: '2/1/2020',11: '3/1/2020',12: '4/1/2020',13: '5/1/2020',14: '6/1/2020',15: '7/1/2020',16: '8/1/2020',17: '9/1/2020',18: '10/1/2020',19: '4/1/2019',20: '5/1/2019',21: '6/1/2019',22: '7/1/2019',23: '8/1/2019',24: '9/1/2019'},'End': {0: '5/1/2019',1: '6/1/2019',2: '7/1/2019',3: '8/1/2019',4: '9/1/2019',5: '10/1/2019',6: '11/1/2019',7: '12/1/2019',8: '1/1/2020',9: '2/1/2020',10: '3/1/2020',11: '4/1/2020',12: '5/1/2020',13: '6/1/2020',14: '7/1/2020',15: '8/1/2020',16: '9/1/2020',17: '10/1/2020',18: '11/1/2020',19: '5/1/2019',20: '6/1/2019',21: '7/1/2019',22: '8/1/2019',23: '9/1/2019',24: '10/1/2019'},'Diff': {0: 160.4279,1: 136.0248,2: 174.0513,3: 112.0424,4: 141.8488,5: 103.5522,6: 125.6087,7: 145.2591,8: 115.5121,9: 185.7191,10: 126.7386,11: 231.3461,12: 97.02587,13: 42.85235,14: 124.666,15: 357.9974,16: 490.9587,17: 204.5478,18: 287.6025,19: 12.38486,20: -2.61735,21: -5.6187,22: 3.204252,23: -25.3782,24: -10.9717},'Percent': {0: 11.108089999999999,1: 8.476797999999999,2: 9.998946,3: 5.851551000000001,4: 6.998691,5: 4.774984,6: 5.528085,7: 6.058016,8: 4.542251,9: 6.985672999999999,10: 4.455896,11: 7.786734,12: 3.02981,13: 1.298792,14: 3.729997,15: 10.326089999999999,16: 12.8358,17: 4.739428,18: 6.362292,19: 5.780551,20: -1.15487,21: -2.50814,22: 1.4671530000000002,23: -11.4521,24: -5.5913699999999995},'Date': {0: '04-01-2019 to 05-01-2019',1: '05-01-2019 to 06-01-2019',2: '06-01-2019 to 07-01-2019',3: '07-01-2019 to 08-01-2019',4: '08-01-2019 to 09-01-2019',5: '09-01-2019 to 10-01-2019',6: '10-01-2019 to 11-01-2019',7: '11-01-2019 to 12-01-2019',8: '12-01-2019 to 01-01-2020',9: '01-01-2020 to 02-01-2020',10: '02-01-2020 to 03-01-2020',11: '03-01-2020 to 04-01-2020',12: '04-01-2020 to 05-01-2020',13: '05-01-2020 to 06-01-2020',14: '06-01-2020 to 07-01-2020',15: '07-01-2020 to 08-01-2020',16: '08-01-2020 to 09-01-2020',17: '09-01-2020 to 10-01-2020',18: '10-01-2020 to 11-01-2020',19: '04-01-2019 to 05-01-2019',20: '05-01-2019 to 06-01-2019',21: '06-01-2019 to 07-01-2019',22: '07-01-2019 to 08-01-2019',23: '08-01-2019 to 09-01-2019',24: '09-01-2019 to 10-01-2019'}})

fig = px.line(df,x="Date",y="Diff",color = 'POD')

import plotly.graph_objects as go
included = 0

lim = {'IAD': {'lower': 90,'color':'green'}}

for i,d in enumerate(fig.data):
    for j,y in enumerate(d.y):
        if y < lim[d.name]['lower'] or y > lim[d.name]['upper']:
             
             if j == 0:
                fig.add_traces(go.Scatter(x=[fig.data[i]['x'][j]],y=[fig.data[i]['y'][j]],mode = 'markers',marker = dict(color=lim[d.name]['color']),name = d.name + ' threshold',legendgroup = d.name + ' threshold'))
                included = included + 1
             else:
                fig.add_traces(go.Scatter(x=[fig.data[i]['x'][j-1],fig.data[i]['x'][j]],y=[fig.data[i]['y'][j-1],fig.data[i]['y'][j]],mode = 'lines',# marker = dict(color='yellow'),line = dict(width = 6,color = lim[d.name]['color']),legendgroup = d.name + ' threshold',showlegend = False if included > 0 else True,))
                included = included + 1
            
fig.show()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)&gt; insert overwrite table dwd_trade_cart_add_inc &gt; select data.id, &gt; data.user_id, &gt; data.course_id, &gt; date_format(
错误1 hive (edu)&gt; insert into huanhuan values(1,&#39;haoge&#39;); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive&gt; show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 &lt;configuration&gt; &lt;property&gt; &lt;name&gt;yarn.nodemanager.res