So ersetzen Sie Heatmap-Quadrate (Highcharts) durch Kreise in jeder Zelle in einer Shiny-App (Python)Python

Python-Programme
Anonymous
 So ersetzen Sie Heatmap-Quadrate (Highcharts) durch Kreise in jeder Zelle in einer Shiny-App (Python)

Post by Anonymous »

Ich entwickle eine Shiny-App in Python und habe eine Heatmap erstellt, die meinen Wünschen nahe kommt.
Anstelle von Quadraten möchte ich jedoch, dass jede Zelle ein Quadrat ist, das einen Kreis enthält, ähnlich dem Beispiel unten.
Hier ist der relevante Teil meiner Highcharts-Heatmap und seine Ausgabe:

Code: Select all

        options = {
'chart': {
#'type': 'heatmap',
'plotBorderWidth': 1,
'width': 1500,
'height': 800,
},
'title': {'text': postes},
'xAxis': {
'categories': categories_x,
'title': {'text': ''}
},
'yAxis': {
'categories': categories_y,
'title': {'text': ''},
'reversed': True,
'labels': {'useHTML': True}
},
'legend': {'enabled': False},
'series': [
{
'type': 'heatmap',
'name': 'État EVT',
#'borderWidth': 1,
#'borderColor': 'black',
'data': heatmap_data,
'dataLabels': {'enabled': False}
},
{
'type': 'scatter',
'name': 'Alertes',
'data': icons_to_add,
'marker': {
'symbol': 'url(https://cdn-icons-png.flaticon.com/512/80/80795.png)',
'width': 20,
'height': 20
},
'enableMouseTracking': False
}
],
'boost': {'enabled': True},
}
plot_lines = []
for i in range(len(categories_y) - 1):
plot_lines.append({
'color': '#cccccc',
'width': 1,
'value': i + 0.5,
'zIndex': 5
})

options['yAxis']['plotLines'] = plot_lines
options_json = json.dumps(options, ensure_ascii=False)

#### OUTPUT
@output
@render.ui
def hc_container_heatmap():
options_json, dict_lien_ged_json, _, styled_df = donnees_compilees()
return ui.HTML(f"""


if (typeof Highcharts !== 'undefined') {{
const options = {options_json};
const categoryLinks = {dict_lien_ged_json};

options.yAxis.labels.formatter = function() {{
const category = this.value;
const link = categoryLinks[category];
if (link) {{
return '' + category + '';
}} else {{
return category;
}}
}};
Highcharts.chart('hc_container_heatmap', options);
}} else {{
console.error("Highcharts non chargé");
}}

""")
Image
Und das versuche ich zu erreichen:
Image

Gibt es eine Möglichkeit, die Highcharts-Konfiguration (oder eine ähnliche Konfiguration) zu ändern, um das obige Aussehen zu erreichen?

Oder gibt es einen besseren Ansatz, um ein Diagramm mit demselben Datenrahmen und derselben Integration in Shiny für Python zu rendern?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post